|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
#nullable disable
using System.Windows;
using System.Windows.Controls;
namespace Microsoft.VisualStudio.LanguageServices.Implementation.CommonControls;
/// <summary>
/// Interaction logic for MemberSelection.xaml
/// </summary>
internal partial class MemberSelection : UserControl
{
public string SelectDependents => ServicesVSResources.Select_Dependents;
public string SelectPublic => ServicesVSResources.Select_Public;
public string MembersHeader => ServicesVSResources.Members;
public string MakeAbstractHeader => ServicesVSResources.Make_abstract;
public string SelectAll => ServicesVSResources.Select_All;
public string DeselectAll => ServicesVSResources.Deselect_All;
public MemberSelectionViewModel ViewModel { get; }
public MemberSelection(MemberSelectionViewModel viewModel)
{
ViewModel = viewModel;
DataContext = ViewModel;
ViewModel.PropertyChanged += ViewModel_PropertyChanged;
InitializeComponent();
UpdateAbstractColumnVisibility();
}
private void ViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName == nameof(MemberSelectionViewModel.ShowMakeAbstract))
{
UpdateAbstractColumnVisibility();
}
}
private void UpdateAbstractColumnVisibility()
{
AbstractColumn.Visibility = ViewModel.ShowMakeAbstract ? Visibility.Visible : Visibility.Collapsed;
}
private void SelectDependentsButton_Click(object sender, RoutedEventArgs e)
=> ViewModel.SelectDependents();
private void SelectPublic_Click(object sender, RoutedEventArgs e)
=> ViewModel.SelectPublic();
private void SelectAllButton_Click(object sender, RoutedEventArgs e)
=> ViewModel.SelectAll();
private void DeselectAllButton_Click(object sender, RoutedEventArgs e)
=> ViewModel.DeselectAll();
}
|