using System.ComponentModel; using PowerCalculations.UI.DataModels; using PowerCalculations.UI.WPF.ViewModels; namespace PowerCalculations.UI.WPF.UserControls { /// /// Interaction logic for PhasorSelectionUserControl.xaml /// public partial class PhasorSelectionUserControl { private PhasorSelectionViewModel m_dataContext; private PhasorType m_phasorTypeFilter; public PhasorSelectionUserControl() { InitializeComponent(); } private void PhasorSelectionUserControl_Loaded(object sender, System.Windows.RoutedEventArgs e) { if (!DesignerProperties.GetIsInDesignMode(this)) { m_dataContext = new PhasorSelectionViewModel(16); m_dataContext.PropertyChanged += ViewModel_PropertyChanged; m_dataContext.PhasorTypeFilter = m_phasorTypeFilter; DataContext = m_dataContext; } } private void ViewModel_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == nameof(m_dataContext.CurrentItem) && m_dataContext.IsNewRecord) DataGridList.SelectedIndex = -1; } public Phasor SelectedPhasor { get { return IsLoaded ? ((PhasorSelectionViewModel)DataContext).CurrentItem : null; } } public PhasorType PhasorTypeFilter { get { return m_phasorTypeFilter; } set { var dataContext = DataContext as PhasorSelectionViewModel; m_phasorTypeFilter = value; if ((object)dataContext != null) dataContext.PhasorTypeFilter = value; } } } }