0
イベントハンドラにリストボックスのItemContainerStyleとしてバインドされているコンテキストメニューmenuitemを割り当てるときに問題があります。アプリケーションでリストアイテムを右クリックして呼び出すと、ヘッダー名とsystem.window.styleという別のネストされた項目を表示するコンテキストメニューが表示されます。次のようにコンテキストメニューmenuitemが正しく呼び出されていない
私のXAMLコードは次のとおりです。MenuItemの内にネスト
<ListBox HorizontalAlignment="Left" Margin="6,90,0,0" Name="listbox1" Width="189" FontSize="14" Height="416" VerticalAlignment="Top">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="Delayed Kick" >
<Style TargetType="MenuItem">
<EventSetter Event="Click" Handler="DelayedKick_Click"/>
</Style>
</MenuItem>
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
異なるコンテキストメニューのメニューアイテムに対して異なるイベントハンドラを指定する場合はどうすればよいですか? – paradox
あなたは今私の知識に課税しています:(私はあなたがリソースとして複数のアイテムコンテナスタイルを持つ必要があると思います。それぞれが明示的に名前のついたMenuItemスタイルを持ちます(上記の暗黙的ではありません)。 ListBox.ItemContainerStyleSelectorを使用して、各リストボックスアイテムの正しいスタイルを選択します。 – Phil