0

コンテキスト メニューを含む ListBox があります。

<ListBox>

<toolkit:ContextMenuService.ContextMenu>

<toolkit:ContextMenu IsZoomEnabled="True"x:Name="ContextMenu" >

<toolkit:MenuItem x:Name=”Open" Header=”Open Trailer" Click="nOpe_Click"/>



</toolkit:ContextMenu>

</toolkit:ContextMenuService.ContextMenu>


</ListBox>

Open_Click イベントを呼び出した ListBox アイテムのインデックスを取得するにはどうすればよいですか。

4

1 に答える 1

1

Open_Click イベントのObject senderシグネチャには が含まれている必要があります。これはあなたが働かなければならないものです。

を取り、senderにキャストしMenuItemます。これMenuItemにはDataContext

このDataContextの はMenuItem、 のアイテムである必要がありますListBox

あなたがそれへの参照を持っているならListBox、あなたは行くことができます

var contextMenuOpenedIndex = ListBoxName.IndexOf((sender as MenuItem).DataContext)

同じ質問 (およびリファレンス) は次のとおりです: ListBox.SelectedIndex in ContextMenu イベント ハンドラー

サンプル ItemTemplate:

<ListBox x:Name="SampleListBox">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid>
                <TextBlock Text="{Binding}">
                ... ContextMenu ... 
            </Grid>
        </DataTemplate>    
    </ListBox.ItemTemplate>
</ListBox>
于 2013-10-06T06:05:14.520 に答える