【发布时间】:2018-03-06 21:33:30
【问题描述】:
我有一个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>
然而,当我右键单击列表视图中的一个项目时,我希望上下文菜单会弹出,但没有任何反应。我看到的所有示例都像我的代码一样简单,但是我做错了什么菜单没有出现?
【问题讨论】:
-
在您单击鼠标右键之前控件是否处于活动状态?
-
如果您希望在单击某个项目时出现上下文菜单,那么是否必须针对 ListViewItem 定义上下文菜单?我想知道这种方法是否可行:stackoverflow.com/questions/747872/…
-
奇怪的是它对我有用吗?你的 ListView 是什么类型的 UIElement?
-
另外,右键单击是否至少将焦点放在被单击的项目上?
-
@LordWilmore 正如我所说,当我右键-单击一个项目时,我期待上下文菜单。这不是列表或网格视图上的上下文菜单的正常行为吗?
标签: wpf wpf-controls