protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) { base.OnPropertyChanged(e); if (e.Property == ValueProperty) { var type = e.NewValue.GetType(); if (currentEnumType != type) { currentEnumType = type; uxPanel.Children.Clear(); foreach (var v in Enum.GetValues(type)) { var b = new EnumButton(); b.Value = v; b.Content = Enum.GetName(type, v); b.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(button_PreviewMouseLeftButtonDown); uxPanel.Children.Add(b); } } foreach (EnumButton c in uxPanel.Children) { if (c.Value.Equals(Value)) { c.IsChecked = true; } else { c.IsChecked = false; } } } }
protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) { base.OnPropertyChanged(e); if (e.Property == ValueProperty) { var type = e.NewValue.GetType(); if (currentEnumType != type) { currentEnumType = type; uxPanel.Children.Clear(); foreach (var v in Enum.GetValues(type)) { var b = new EnumButton(); b.Value = v; b.Content = Enum.GetName(type, v); b.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(button_PreviewMouseLeftButtonDown); uxPanel.Children.Add(b); } } foreach (EnumButton c in uxPanel.Children) { if (c.Value.Equals(Value)) { c.IsChecked = true; } else { c.IsChecked = false; } } } }