private static void setSelection(TreeViewHelper.DependencyPropertyEventArgs e, ref Category refToProperty) { if (e != null && e.DependencyPropertyChangedEventArgs.NewValue != null) { var selection = e.DependencyPropertyChangedEventArgs.NewValue as Category; if (selection != null) { refToProperty = selection; } } }
private static void TreeViewItemSelectedChangedCallBack(TreeViewHelper.DependencyPropertyEventArgs e) { //if (e != null && e.DependencyPropertyChangedEventArgs.NewValue != null) // MessageBox.Show( // string.Format("Selected Item: {0}", ((ProjectItem)e.DependencyPropertyChangedEventArgs.NewValue).AllowDrop.ToString()), // "MVVM TreeView Selected Item Demo", // MessageBoxButton.OK, // MessageBoxImage.Information // ); CurrSelItem = e.DependencyPropertyChangedEventArgs.NewValue; }
private static void ScheduleSelectionChanged(TreeViewHelper.DependencyPropertyEventArgs e) { if (e != null && e.DependencyPropertyChangedEventArgs.NewValue != null) { var selection = e.DependencyPropertyChangedEventArgs.NewValue as Schedule; if (selection != null) { _selectedSchedule = selection; return; } var selectedCategory = e.DependencyPropertyChangedEventArgs.NewValue as Category; if (selectedCategory != null) { _selectedCatagory = selectedCategory; _selectedSchedule = selectedCategory.ParentSchedule; } } }
private static void ScheduleCategoriesChanged(TreeViewHelper.DependencyPropertyEventArgs e) { setSelection(e, ref _selectedCategorySecond); }
//public static object GetIsSelectedMonitor(DependencyObject obj) //{ // return (object)obj.GetValue(IsSelectedMonitorProperty); //} //public static void SetIsSelectedMonitor(DependencyObject obj, object value) //{ // obj.SetValue(IsSelectedMonitorProperty, value); //} //// Using a DependencyProperty as the backing store for IsSelectedMonitor. This enables animation, styling, binding, etc... //public static readonly DependencyProperty IsSelectedMonitorProperty = // DependencyProperty.RegisterAttached("IsSelectedMonitor", typeof(object), typeof(CategorySelectViewModel), new PropertyMetadata(true, IsSelectedMonitorProperty_Chaged)); //private static void IsSelectedMonitorProperty_Chaged(DependencyObject d, DependencyPropertyChangedEventArgs e) //{ // TreeView treeView = FindParentTreeView(d); // if (treeView != null) // { // if (treeView.Name == "CategoryList") // _selectedCategoryFirst = e.NewValue as Category; // else if (treeView.Name == "SelectedCategoryList") // _selectedCategorySecond = e.NewValue as Category; // } //} //private static TreeView FindParentTreeView(object child) //{ // try // { // var parent = VisualTreeHelper.GetParent(child as DependencyObject); // while ((parent as TreeView) == null) // { // parent = VisualTreeHelper.GetParent(parent); // } // return parent as TreeView; // } // catch (System.Exception e) // { // //could not find a parent of type TreeViewItem // return null; // } //} #endregion private static void AvailableCategoriesChanged(TreeViewHelper.DependencyPropertyEventArgs e) { setSelection(e, ref _selectedCategoryFirst); }