对于标签,我有一个要在上下文菜单中显示的项目列表,可以选择多个项目。 它可以是上下文菜单中每个项目的复选框吗?
以下是我目前的xaml代码:
<Label Content="{Binding Count}">
<Label.ContextMenu>
<ContextMenu ItemsSource="{Binding Items}" >
<ContextMenu.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</ContextMenu.ItemTemplate>
</ContextMenu>
</Label.ContextMenu>
</Label>
其他问题:关于删除复选框前面的空隙,我已经使用了@Rohit回复,但它仍然在复选框项后面有一行。可以删除吗?
答案 0 :(得分:1)
是的,你可以拥有checkBox。只需将TextBlock
替换为CheckBox
。
<ContextMenu ItemsSource="{Binding Items}" >
<ContextMenu.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding Name}" />
</DataTemplate>
</ContextMenu.ItemTemplate>
</ContextMenu>
更新评论
如何删除复选框前面的空白区域?
首先请不要在评论中提出跟进问题,因为这里的大众观众无法看到这些问题。
现在提出您的问题 - 这是正在应用的ContextMenu的默认模板。为了避免您覆盖ContextMenu的<{1}} 。如果感兴趣,请参考here中的模板(根据您的需要进行修改)
然而,通过 Template
来快速而肮脏地实现这一目标:
specifying negative left margin