我遇到了WPF菜单和图标问题。 我想做的事情是这样的:
Menu1 - NOICON op1
NOICON opt2
ICON opt3
Menu2 - NOICON opt4
ICON opt5
我有一个像这样的菜单:
<Menu>
<MenuItem Header="Engine" Click="MenuItem_Click_12" >
<MenuItem Header="Use SCCP Standard" Click="MenuItem_Click_11" x:Name="SCCP"/>
<MenuItem Header="Use ITS" Click="MenuItem_Click_10" x:Name="ITS"/>
<MenuItem Header="Use ODE" Click="MenuItem_Click_13" x:Name="ODE"/>
</MenuItem>
<MenuItem Header="Constraint Store" >
<MenuItem Header="muParser" Click="MenuItem_Click_15" x:Name="muParser"/>
<MenuItem Header="Flee" Click="MenuItem_Click_14" x:Name="Flee"/>
</MenuItem>
</Menu>
点击后面的代码是:
private void MenuItem_Click_14(object sender, RoutedEventArgs e)
{
CS_TYPE = "Flee";
Flee.Icon = CHECK;
muParser.Icon = NOCHECK;
}
对于每个点击事件...... 当我在Flee上点击(样品)时,它会获得正确的图像,muParser也会... 但是另一个菜单中的每个图标都消失了!!!
我的例子出了什么问题?为什么图标从2个不同的菜单中消失了?
非常感谢!!!
答案 0 :(得分:2)
您需要确保为每个MenuItem创建一个新图像。单个图像不能在多个地方使用。
这是一个常见的错误,可能就是你遇到的问题。图像是一种视觉效果,就像一个按钮。如果将两个MenuItem的MenuItem.Icon设置为相同的Image,那么该Image必须出现在两个位置的可视树中(这是不允许的)。
您可以通过复制Image.Source值来从旧图像创建新图像。