Я использую mvvm в приложении wpf. У меня есть ContextMenu внутри списка, и когда я нажимаю правой кнопкой мыши listviewitem, я хочу, чтобы контекстное меню отображало список контактов.WPF ContextMenu
Следующее просто дает мне контекстное меню без содержания. Может ли кто-нибудь сказать мне, что я делаю неправильно?
<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>
UPDATE:
я понял это, я имел специальную коллекцию, которая вызвала связывание пути неверным.
Спасибо.
Хотя у меня нет ответа для вас прямо сейчас, похоже, что вам не хватает –
Хосе, я рад, что вы это поняли. Не могли бы вы разместить решение здесь, чтобы я (и другие) мог быть настолько просветленным :) –