private static void TargetUiElement_GotFocus(object sender, RoutedEventArgs e)
 {
     if (sender is TextBox)
     {
         TextBox tx     = sender as TextBox;
         object  parent = FindAncestorByType(tx, typeof(GenLibrary.GenControls.TreeListViewItem), false);
         if (parent is GenLibrary.GenControls.TreeListViewItem)
         {
             GenLibrary.GenControls.TreeListViewItem item = parent as GenLibrary.GenControls.TreeListViewItem;
             if (item.Header is MVVM.TreeListView.TreeListViewItemViewModel)
             {
                 MVVM.TreeListView.TreeListViewItemViewModel header = item.Header as MVVM.TreeListView.TreeListViewItemViewModel;
                 header.IsSelected = true;
             }
         }
     }
 }
Beispiel #2
0
        static void TargetUiElement_IsKeyboardFocusWithinChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            var targetUiElement = (UIElement)sender;

            if (targetUiElement is GenControls.TreeListViewItem) //让其支持TreeListView
            {
                GenControls.TreeListViewItem trItem = targetUiElement as GenControls.TreeListViewItem;
                if (trItem.Header is MVVM.TreeListView.TreeListViewItemViewModel)
                {
                    MVVM.TreeListView.TreeListViewItemViewModel header = trItem.Header as MVVM.TreeListView.TreeListViewItemViewModel;
                    header.IsSelected = true;
                }
            }
            else
            {
                ListBox.SetIsSelected(targetUiElement, true); //设置选择,可用于datagrid/treeview等其他类型,仅仅适合于单选
            }
        }
 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;
                 }
             }
         }
     }
 }