private void root_PreviewMouseMove(object sender, MouseEventArgs e) { if (MoveCheckElement == null) { return; } if (MoveCheckElement == this) { return; } if (GroupName != MoveCheckElement.GroupName) { return; } if (e.LeftButton == MouseButtonState.Released) { MoveCheckElement = null; return; } if (MoveCheckElement.IsChecked != base.IsChecked) { base.IsChecked = MoveCheckElement.IsChecked; } e.Handled = true; }
private static void OnUnCheckSourceValueChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { string result = e.NewValue?.ToString(); if (!string.IsNullOrEmpty(result)) { bool IsPath = result.First() == 'M' && result.Last() == 'z'; IconCheckBox element = (IconCheckBox)d; element.UnCheckSourceType = IsPath ? ImageSourceType.Path : ImageSourceType.Image; } }
private void root_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { base.IsChecked = !base.IsChecked; MoveCheckElement = this; e.Handled = true; }
private void root_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { MoveCheckElement = null; e.Handled = true; }