gpt4 book ai didi

c# - WPF 和 OxyPlot : Checkable ContextMenu, 动态生成

转载 作者:太空宇宙 更新时间:2023-11-03 13:09:51 24 4
gpt4 key购买 nike

我有一个带有 OxyPlot View 的 WPF 窗口。我正在尝试根据情节的动态生成的可检查上下文菜单添加每系列隐藏/显示功能。这个想法是有一个 ObservableCollection<T>对象,绑定(bind)到 ItemsSource上下文菜单,其中 T 是一个类,基本上包含作为字符串的系列标题和作为 bool 值的默认检查状态。

View.xaml 摘录:

<oxy:PlotView
x:Name="oxyPlot"
Model="{Binding PlansPlotModel}"
Controller="{Binding PlansPlotController}">

<oxy:PlotView.ContextMenu>
<ContextMenu ItemsSource="{Binding PlansPlotContextMenuItems}">
<ContextMenu.ItemTemplate>
<DataTemplate>
<MenuItem Header="{Binding Title}"
IsCheckable="True"
IsChecked="{Binding IsCheckedByDefault}" />
</DataTemplate>
</ContextMenu.ItemTemplate>
</ContextMenu>
</oxy:PlotView.ContextMenu>
</oxy:PlotView>

上下文菜单显示正确,但复选框位置错误,鼠标悬停时有奇怪的行为:

预期结果:

Expected result

实际结果:

Actual result

我错过了什么?

TIA

最佳答案

改用 ItemContainerStyle :

<ContextMenu.ItemContainerStyle>
<Style TargetType="{x:Type MenuItem}">
<Setter Property="IsChecked" Value="{Binding IsCheckedByDefault}"/>
<Setter Property="IsCheckable" Value="true"/>
<Setter Property="Header" Value="{Binding Title}"/>
</Style>
</ContextMenu.ItemContainerStyle>

关于c# - WPF 和 OxyPlot : Checkable ContextMenu, 动态生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29410326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com