【发布时间】:2010-04-28 08:01:29
【问题描述】:
我有一个上下文菜单,里面有一个 ListBox。每当我右键单击我的控件并从上下文菜单中选择一个值时,最后一个选择的值都会保持标记状态,我无法再次选择该值。
我的想法是,我可以在上下文菜单中选择相同的值来打开或关闭属性。
应该很基本,我错过了什么?
非常感谢,
编辑:感谢您的回复。我试图应用你的想法但没有成功。我认为主要问题是 contextmenu 的 MenuItems 没有要绑定到集合的 ItemSource(例如,本例中的 PossibleValues)。
我可以插入我的代码以澄清:
<Border.ContextMenu>
<ContextMenu>
<ContextMenu.ItemContainerStyle>
<Style TargetType="{x:Type MenuItem}">
<Setter Property ="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type MenuItem}">
<ContentPresenter x:name="Header" ContentSource="Header" RecognizesAccessKey="True"/>
</ControlTemplate>
</Setter.value>
</Setter>
</Style>
<ContextMenu.ItemContainerStyle>
<ListBox BorderThickness="0" Width="35" Margin="0"
SelectedItem="{Binding Path=Volume, Mode=TwoWay}
DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=DataContext}"
ItemsSource="{Binding Path=PossibleValues}"/>
</ContextMenu>
</Border.ContextMenu>
【问题讨论】:
标签: .net wpf contextmenu