1

ListBox でインスタンス化されたユーザー コントロールがいくつかあります。Window に を発生させるボタンと、それを実行できるようにNavigationCommands.RefreshするCanExecuteハンドラがあります。

<Window.CommandBindings>
    <CommandBinding Command="NavigationCommands.Refresh" CanExecute="CanAlwaysExecute" />
</Window.CommandBindings>

これらの動的に作成されたユーザー コントロール (ListBox の ItemTemplate 内で作成) のそれぞれに、NavigationCommands.Refresh. ウィンドウ内のボタンをクリックすると、各ユーザー コントロールで設定したハンドラーが起動しませんか? 各 UC にトンネリングするコマンドが必要ですが、そうではありません。

<UserControl.CommandBindings>
    <CommandBinding Command="NavigationCommands.Refresh" Executed="UpdateStatus" CanExecute="CanAlwaysExecute" />
</UserControl.CommandBindings>
....
<Button Width="200" Text="Refresh All" Command="NavigationCommands.Refresh"/>
4

1 に答える 1

0

トンネリングコマンドはそのようには機能せず、ルートからターゲットサイトに移動し、「分割」されません。したがって、ウィンドウで開始し、クリックされたボタンで終了します。

于 2012-06-18T11:11:07.830 に答える