メインウィンドウ内のRelayCommandのCanExecuteを、おそらく存在しない子ウィンドウにバインドしようとしています。私はどうすればいいのですか?RelayCommandと追加条件のバインド
<MenuItem Header="_Compact"
Command="{Binding Path=CurrentChildViewModel.CompactCommand}"
IsEnabled="{Binding CurrentChildViewModel.CanExecuteCompactCommand,
Converter={StaticResource NullToBooleanConverter}}"/>
は、しかし、これはコンバータがCurrentChildViewModel(とないCanExecuteCompactCommandで動作するはずですので、動作するようには思えませんが、私はまた私がしたいことをCanExecuteCompactCommand何とか
含める必要があります。現在
私が持っています。 CurrentChildViewModel!= nullおよびCurrentChildViewModel.CanExecuteCompactCommand()がtrueを返す場合にのみ有効にするメニュー項目。
(理由:CurrentChildViewModelはウィンドウのViewModel thaですtを開くかどうか、開いていない場合は、メニュー項目を無効にします。コンパクトコマンドのCanExecuteメソッドを開いて、コンパクトコマンドを実行できるかどうかを確認します。これは、ChildView(モデル)のリストビュー内の少なくとも2つのアイテムが選択されているかどうかを確認するためです)。
Canone anyone助けてください?なぜ地球上であなたは別のコマンドを実行することができるかどうかを決定するために、1つのコマンドを使用していると述べたCurrentChildViewModel
のインスタンスを必要とする、あなたのコンバータ場合は、コマンドそれに結合していない
私は1つのコマンドを呼びたいだけですが、そのコマンドは子ビューモデルの中にあり、必ずしも開いているわけではありません。したがって、CurrentChildViewModelがnullでない場合にのみ呼び出すことができます。 –
私はまだあなたの答えを完全に理解していません... –
それは私にとって意味をなさない、あなたは理解していないことを明確にする必要があります。 – Terkel