我正在使用WPF开发一个聊天应用程序(我是noobie),我创建了一个列表视图,以显示最近聊天的联系人,如下图所示。现在,我正在显示一个上下文菜单,以便用户可以离开/静音/添加联系人。发生的情况是,在执行某些操作后,使用此上下文菜单连续删除此列表中的联系人时,该列表不起作用。请在后面找到有关代码的代码,然后在下面查看
这是我的情况:
<ListView x:Name="StarredContactsList" Grid.Row="1" ItemsSource="{Binding Source={StaticResource StarredContacts}}" HorizontalAlignment="Stretch" Cursor="Hand"
ItemContainerStyle="{StaticResource myLBStyle}" VerticalAlignment="Top" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Margin="0,-5,0,0" MouseLeftButtonUp="OnSelect_StarredContact">
<ListView.Resources>
<ContextMenu x:Key="StarredListViewContextMenu" Background="White" StaysOpen="False" Margin="0,-15">
<MenuItem Header="Close Conversation" FontSize="12" Height="25" Visibility="{Binding IsPersonal,Converter={StaticResource BooleanToVisibilityConverter}}" Click="LeaveMenuItem_Click"/>
<MenuItem Header="{Binding FullName}" HeaderStringFormat="Leave #{0}" Height="25" FontSize="12" Visibility="{Binding IsChannel, Converter={StaticResource BooleanToVisibilityConverter}}" Click="LeaveMenuItem_Click"/>
<MenuItem FontSize="12" Header="{Binding MuteHeader}" Height="25" Click="MuteMenuItemClicked"/>
<MenuItem FontSize="12" Header="Unstar Conversation" Height="25" Click="StarMenuItemClicked" Foreground="Black"/>
</ContextMenu>
</ListView.Resources>
显示上下文菜单没有后面的内容
正如我的评论中提到的,尝试这样的事情:
<ListView >
<ListView.ItemTemplate>
<DataTemplate>
<ListViewItem>
<ListViewItem.ContextMenu>
<ContextMenu >
<MenuItem />
<MenuItem />
...
</ContextMenu>
</ListViewItem.ContextMenu>
</ListViewItem>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我不知道这是否可以解决问题,所以请提一个建议:)