可检查的 MenuItem 中缺少 WPF 复选标记
WPF Check mark missing in checkable MenuItem
我正在尝试使用可检查的菜单项。但是复选标记不起作用。
这是代码
<MenuItem Header="Switch to...">
<MenuItem IsCheckable="True" IsChecked="True" Header="Stroke-Based" StaysOpenOnClick="True" />
<MenuItem IsCheckable="True" IsChecked="True" Header="Color-Transfer" StaysOpenOnClick="True" />
</MenuItem>
我哪里做错了?
我在使用 Mahapps 自定义菜单项时遇到了完全相同的问题。这是我添加的用于处理现有菜单项 xaml-
的 IsChecked 触发器的代码
添加此 "CheckMarkPanel" 网格并删除图标网格。或者你可以把两个都留下,但我删除了我的。
<Grid Grid.Column="0"
Margin="6,0,6,0"
x:Name="CheckMarkPanel"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Visibility="Collapsed">
<Path x:Name="CheckMarkPath"
Width="7" Height="7"
Visibility="Hidden"
SnapsToDevicePixels="False"
Stroke="#cccccc"
Fill="Green"
StrokeThickness="2"
Data="M 0 0 L 7 7 M 0 7 L 7 0" />
</Grid>
添加这些多重触发条件 -
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsChecked"
Value="true" />
<Condition Property="Role"
Value="SubmenuItem" />
</MultiTrigger.Conditions>
<Setter TargetName="CheckMarkPath"
Property="Visibility"
Value="Visible" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsCheckable"
Value="true" />
<Condition Property="Role"
Value="SubmenuItem" />
</MultiTrigger.Conditions>
<Setter TargetName="CheckMarkPanel"
Property="Visibility"
Value="Visible" />
</MultiTrigger>
并折叠 TopLevelHeader/TopLevelItem/subMenutItem 的所有 CheckMarkPanel 可见性。
我正在尝试使用可检查的菜单项。但是复选标记不起作用。 这是代码
<MenuItem Header="Switch to...">
<MenuItem IsCheckable="True" IsChecked="True" Header="Stroke-Based" StaysOpenOnClick="True" />
<MenuItem IsCheckable="True" IsChecked="True" Header="Color-Transfer" StaysOpenOnClick="True" />
</MenuItem>
我哪里做错了?
我在使用 Mahapps 自定义菜单项时遇到了完全相同的问题。这是我添加的用于处理现有菜单项 xaml-
的 IsChecked 触发器的代码添加此 "CheckMarkPanel" 网格并删除图标网格。或者你可以把两个都留下,但我删除了我的。
<Grid Grid.Column="0"
Margin="6,0,6,0"
x:Name="CheckMarkPanel"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Visibility="Collapsed">
<Path x:Name="CheckMarkPath"
Width="7" Height="7"
Visibility="Hidden"
SnapsToDevicePixels="False"
Stroke="#cccccc"
Fill="Green"
StrokeThickness="2"
Data="M 0 0 L 7 7 M 0 7 L 7 0" />
</Grid>
添加这些多重触发条件 -
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsChecked"
Value="true" />
<Condition Property="Role"
Value="SubmenuItem" />
</MultiTrigger.Conditions>
<Setter TargetName="CheckMarkPath"
Property="Visibility"
Value="Visible" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsCheckable"
Value="true" />
<Condition Property="Role"
Value="SubmenuItem" />
</MultiTrigger.Conditions>
<Setter TargetName="CheckMarkPanel"
Property="Visibility"
Value="Visible" />
</MultiTrigger>
并折叠 TopLevelHeader/TopLevelItem/subMenutItem 的所有 CheckMarkPanel 可见性。