static void ClickCommand_ValueChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args) { BaseMenuItemUserControl self = obj as BaseMenuItemUserControl; if (self.ClickCommandChanged != null) { self.ClickCommandChanged(self, new EventArgs()); } }
static void State_ValueChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args) { BaseMenuItemUserControl self = obj as BaseMenuItemUserControl; if (self.StateChanged != null) { self.StateChanged(self, new EventArgs()); } self.updateUI(); }
private static void onBoundDataContextChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { // e.NewValue is your new DataContext // d is your UserControl BaseMenuItemUserControlViewModel viewModel = (BaseMenuItemUserControlViewModel)e.NewValue; BaseMenuItemUserControl userControl = (BaseMenuItemUserControl)d; if (viewModel != null) { userControl.ClickCommand = new RelayCommand(viewModel.ClickCommandExecute, viewModel.ClickCommandCanExecute); } }