我有一个显示图片的水平ListBox。我想在每个项目上添加一个ContextMenu,允许用户删除该项目。但是我不确切知道将ContextMenu放在我的ItemTemplate中的哪个位置,我几乎到处都试过,但ContextMenu从未在Hold上显示过。 你知道在哪里放置XAML集团吗?
<ListBox x:Name="PhotoListBox" Grid.Row="1" ItemsSource="{Binding}" SelectionChanged="PhotoListBox_SelectionChanged" >
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel
HorizontalAlignment="Left"
Margin="0,0,0,0"
VerticalAlignment="Top"
/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="5">
<StackPanel Orientation="Vertical">
<Grid Width="100" Height="100">
<Grid.Background>
<ImageBrush Stretch="UniformToFill" ImageSource="{Binding}" />
</Grid.Background>
<toolkit:ContextMenu>
<toolkit:MenuItem Header="Delete" Click="MenuItem_OnClick"/>
</toolkit:ContextMenu>
</Grid>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
由于
答案 0 :(得分:1)
将其包装在contextMenuService:
中<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu>
<toolkit:MenuItem Header="Delete" Click="MenuItem_OnClick"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
请参阅http://phone.codeplex.com/SourceControl/latest#PhoneToolkitSample/Samples/ContextMenuSample.xaml了解完整示例