這個需要重寫ListView的Style。
首先在ListView的Style對應位置增加一個ContextMenu的聲明:
<!--ListViewItem的菜單綁定-->
<ContextMenu x:Key="ListViewItemContextMenu" ItemsSource="{Binding MenuItems}"/>
ItemsSource就是菜單的綁定源。
接下來ListView的Style:
<Style x:Key="ListViewItemStyle" TargetType="{x:Type ListViewItem}">
<!--其他東西省略-->
<Setter Property="ContextMenu" Value="{StaticResource ListViewItemContextMenu}"/>
</Style>
這裏就是設置ContextMenu爲ListViewItemContextMenu。
以上代碼完成後,只要ListView的Style設置爲ListViewItemStyle,數據綁定的時候就會找MenuItems這一項,這一項扔一個ObservableCollection<>類型就好了。