繁体   English   中英

WPF中列表框的上下文菜单事件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM