在执行特定的 ICommand 后,我需要对控件做一些视觉效果。例如,我的自定义控件公开了 AAACommand 和 BBBCommand 属性。
<myControl AAACommand={Binding ACommand}
BBBCommand={Binding BCommand} />
其中 ACommand 和 BCommand 是 ViewModel 上的命令。我怎么知道 AAACommand 何时执行,所以我可以在我的 UserControl 中做一些 UI 工作?没有 ICommand 订阅的 Executed 事件。
编辑: AAACommand 在我的用户控件上定义如下:
public static readonly DependencyProperty AAACommandProperty =
DependencyProperty.Register("AddCommand", typeof(RelayCommand), typeof(MyCustomControl), null);
public static readonly DependencyProperty AAACommandParameterProperty =
DependencyProperty.Register("AAACommandParameter", typeof(object), typeof(MyCustomControl), null);
public RelayCommand AAACommand
{
get { return (RelayCommand)GetValue(AAACommandProperty); }
set { SetValue(AAACommandProperty, value); }
}
public object AAACommandParameter
{
get { return (object)GetValue(AAACommandParameterProperty); }
set { SetValue(AAACommandParameterProperty, value); }
}
因此,在 ViewModel 上调用 ACommand 没有问题,这没有问题。问题是我的用户控件将如何知道 AAACommand 何时执行 ACommand,以便它可以对其 UI 执行某些操作。