gpt4 book ai didi

WPF 上下文菜单

转载 作者:行者123 更新时间:2023-12-04 21:22:19 26 4
gpt4 key购买 nike

我在 wpf 应用程序中使用 mvvm。我在 ListView 中有一个上下文菜单,当我右键单击一个 ListView 项时,我想要一个上下文菜单来显示联系人列表。

下面只是给我一个没有内容的上下文菜单。谁能告诉我我做错了什么?

<ListView Grid.Row="3"
ItemsSource="{Binding Path=Phones}"
SelectedItem="{Binding Phones.SelectedItem}"
Height="100">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="ContextMenu" Value="{StaticResource ContactMenu}"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<GridViewColumn Header="Phone" DisplayMemberBinding="{Binding Path=PhoneNumber, StringFormat=(000) 000-0000}"/>
<GridViewColumn Header="Type" DisplayMemberBinding="{Binding Path=PhoneType.Type}"/>
<GridViewColumn Header="Contacts" DisplayMemberBinding="{Binding Path=Contacts.Count}"/>
<GridViewColumn Header="Notes" DisplayMemberBinding="{Binding Path= Notes.Count}"/>
<GridViewColumn Header="Priority" DisplayMemberBinding="{Binding Path=Priority}"/>
</GridView>
</ListView.View>
</ListView>


<UserControl.Resources>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="Background" Value="{Binding SourceType, Converter={StaticResource SourceGroupConverter}}"/>
</Style>
<ContextMenu x:Key="ContactMenu" ItemsSource="{Binding Contacts}" >
<ContextMenu.ItemTemplate>
<DataTemplate>
<MenuItem Header="{Binding Path=FirstName}"/>
</DataTemplate>
</ContextMenu>
</UserControl.Resources>

更新:

我想通了,我有一个专门的集合导致绑定(bind)路径不正确。

谢谢。

最佳答案

上下文菜单不存在于页面的可视化树中,因此它不会继承数据上下文。尝试直接在 ContextMenu 上设置 DataContext。

关于WPF 上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/894727/

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