System.Windows.Controls.MultiSelectTreeViewItem.OnIsSelectedChanged C# (CSharp) Méthode

OnIsSelectedChanged() protected static méthode

protected static OnIsSelectedChanged ( DependencyObject d, DependencyPropertyChangedEventArgs e ) : void
d DependencyObject
e DependencyPropertyChangedEventArgs
Résultat void
        protected static void OnIsSelectedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            // The item has been selected through its IsSelected property. Update the SelectedItems
            // list accordingly (this is the authoritative collection). No PreviewSelectionChanged
            // event is fired - the item is already selected.
            MultiSelectTreeViewItem item = d as MultiSelectTreeViewItem;
            if (item != null)
            {
                if ((bool) e.NewValue)
                {
                    if (!item.ParentTreeView.SelectedItems.Contains(item.DataContext))
                    {
                        item.ParentTreeView.SelectedItems.Add(item.DataContext);
                    }
                }
                else
                {
                    item.ParentTreeView.SelectedItems.Remove(item.DataContext);
                }
            }
        }