Как показано в приведенном ниже коде XAML, у меня есть ListView
с меткой; И в этом ярлыке есть ContextMenu
. ContextMenu
находится в DataTemplate
, а ресурсы ItemTemplate
из ListView
. Во-вторых, у меня есть свойство DisplayMemberPath
, которое ссылается на метод в одном из моих классов.
<ListView x:Name="TitleList" ItemsSource="{Binding Collections}" ItemTemplate="{DynamicResource Template}" BorderBrush="{x:Null}" DisplayMemberPath="Title">
<ListView.ItemContainerStyle>
<Style>
<Setter Property="FrameworkElement.Margin" Value="20,20,0,0"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.Resources>
<DataTemplate x:Key="Template">
<Label Content="{Binding .}" Width="500" HorizontalAlignment="Left">
<Label.ContextMenu>
<ContextMenu>
<MenuItem Header="Add Question" Click="AddQuestion"/>
<MenuItem Header="Edit Title"/>
<MenuItem Header="Delete Title"/>
<MenuItem Header="Reposition Title"/>
</ContextMenu>
</Label.ContextMenu>
</Label>
</DataTemplate>
</ListView.Resources>
</ListView>
У меня проблема в том, что DisplayMemberPath
и ItemTemplate
не могут одновременно быть свойствами моего ListView
, но мне нужны оба.
Есть ли другой способ получить ContextMenu
без использования ItemTemplate
или есть другое решение?
ИЗМЕНИТЬ:
Пытался завершить это и попытался изменить это:
<ListView x:Name="TitleList" ItemsSource="{Binding Collections}" ItemTemplate="{DynamicResource Template}" BorderBrush="{x:Null}" SelectedValuePath="Title">
<ListView x:Name="TitleList" ItemsSource="{Binding Collections}" ItemTemplate="{DynamicResource Template}" BorderBrush="{x:Null}" TextSearch.TextPath="Title">
Оба они позволяют мне щелкнуть правой кнопкой мыши, и отобразится меню, но строка отображается как MVVMModel.NewTitleClass
.