[英]Context menu event of listbox in wpf
我在列表框中创建静态上下文菜单。 显示了上下文菜单,但其单击事件不起作用。
<Canvas x:Name="LeftCanvas" Grid.Column="0" Grid.Row="1" Margin="5,0,0,0">
<StackPanel>
<TextBlock Text="Unseated Guests" Background="Blue" Foreground="White" FontFamily="Verdana" FontSize="11" FontWeight="Bold" Height="17" Width="150" HorizontalAlignment="Left" TextAlignment="Center" Padding="0,4,5,2"></TextBlock>
<ListBox x:Name="UnseatedPersons" ItemsSource="{Binding}" Height="218" Width="150" BorderBrush="Blue" BorderThickness="2" HorizontalAlignment="Left" Padding="3,2,2,2" src:FloorPlanClass.DragEnabled="true" MouseEnter="UnseatedPersons_MouseEnter"
MouseLeave="SourceListBox_MouseLeave">
<ListBox.ItemTemplate>
<DataTemplate>
<DockPanel>
<DockPanel.Resources>
<ContextMenu x:Key="ctxtmenu">
<MenuItem Header="Archive Info" Click="bt_click"></MenuItem>
<MenuItem Header="Guest Info"></MenuItem>
</ContextMenu>
</DockPanel.Resources>
<Image Name="imgPerson" Source="{Binding ImagePath}" ContextMenu="{StaticResource ctxtmenu}"></Image>
<TextBlock Name="txtPersonName" Text="{Binding PersonName}" Padding="2,4,0,0" ContextMenu="{StaticResource ctxtmenu}"></TextBlock>
</DockPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</Canvas>
我怎样才能解决这个问题?
我不确定为什么,但是为整个DockPanel
设置上下文菜单似乎可以工作:
<DockPanel>
<DockPanel.ContextMenu>
<ContextMenu>
<MenuItem Header="Archive Info" Click="bt_click" />
<MenuItem Header="Guest Info" />
</ContextMenu>
</DockPanel.ContextMenu>
<Image Name="imgPerson" Source="{Binding ImagePath}" />
<TextBlock Name="txtPersonName" Text="{Binding PersonName}" Padding="2,4,0,0" />
</DockPanel>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.