特定の ICommand が実行された後、コントロールに視覚効果を加える必要があります。たとえば、カスタム コントロールは AAACommand および BBBCommand プロパティを公開します。
<myControl AAACommand={Binding ACommand}
BBBCommand={Binding BCommand} />
ここで、ACommand と BCommand は ViewModel のコマンドです。AAACommand がいつ実行されたかを知る方法は? サブスクライブする 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 で何かを実行できるかということです。