private static void Item_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { if (sender is GenControls.TreeListView) { GenControls.TreeListView item = sender as GenControls.TreeListView; if (item.DataContext != null) { if (item.DataContext is MVVM.TreeListView.TreeListViewItemViewModel) { MVVM.TreeListView.TreeListViewItemViewModel data = item.DataContext as MVVM.TreeListView.TreeListViewItemViewModel; if (data.Children.Count > 0) { data.Children[0].IsNotRootFirst = false; } } } } }
private static void IsRootFirstChecked_Changed(DependencyObject sender, DependencyPropertyChangedEventArgs e) { var attachEvents = (bool)e.NewValue; var targetUiElement = (UIElement)sender; if (targetUiElement is GenControls.TreeListView) { GenControls.TreeListView item = targetUiElement as GenControls.TreeListView; if (attachEvents) { item.DataContextChanged += Item_DataContextChanged; } else { item.DataContextChanged -= Item_DataContextChanged; } } }