gpt4 book ai didi

wpf - 为什么我的 WPF 上下文菜单在 ListView 上不起作用?

转载 作者:行者123 更新时间:2023-12-02 20:59:22 27 4
gpt4 key购买 nike

我有一个 ListView 设置如下:

<ListView x:Name="LocalGrid" DataContext="{Binding LocalFiles}" ItemsSource="{Binding Items}" SelectionMode="Single" HorizontalAlignment="Stretch">
<ListView.ContextMenu>
<ContextMenu>
<MenuItem Header="Download" Click="ServerFilesDownloadOnClick"></MenuItem>
</ContextMenu>
</ListView.ContextMenu>
<ListView.View>
<GridView AllowsColumnReorder="True">
<GridViewColumn DisplayMemberBinding="{Binding Name}" Header="Name" Width="Auto" />
<GridViewColumn DisplayMemberBinding="{Binding Length}" Header="Size" Width="100" />
</GridView>
</ListView.View>
</ListView>

但是,当我右键单击 ListView 中的某个项目时,我希望弹出上下文菜单,但什么也没有发生。我看到的所有示例都像我的代码一样简单,但是我做错了什么导致菜单没有出现?

最佳答案

我认为可能的答案是您正在针对 ListView 创建上下文菜单,并且应该针对 ListViewItem 创建上下文菜单。我相信您实际上从未单击 ListView 本身,而是始终单击项目,因此永远不会调用上下文菜单。

建议您需要构建如下所示的 ListView xaml:

<ListView x:Name="LocalGrid" ...>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="Download" Click="ServerFilesDownloadOnClick" />
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
...
</ListView.View>
</ListView>

关于wpf - 为什么我的 WPF 上下文菜单在 ListView 上不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49109677/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com