你好我试图实现一个菜单,可以选择不同的主题,它在一定程度上起作用,但我只能改变主题,如果我选择的主题低于列表中的当前主题。菜单取决于订单
我一直在下面这个例子:http://msdn.microsoft.com/en-us/library/system.windows.forms.menuitem.checked%28v=vs.110%29.aspx
但它不工作。我一直在试图检查“发件人”对象很好,但它是什么,你居然比发件人?它是MenuItem的名称还是什么?我尝试过,但没有运气。
这是clickEvent代码:
if (swTheme.IsChecked)
{
SetTheme(MainWindow.Themes.StarWars);
redTheme.IsChecked = false;
greenTheme.IsChecked = false;
defaultTheme.IsChecked = false;
}
else if (redTheme.IsChecked)
{
SetTheme(MainWindow.Themes.Red);
greenTheme.IsChecked = false;
swTheme.IsChecked = false;
defaultTheme.IsChecked = false;
}
else if (greenTheme.IsChecked)
{
SetTheme(MainWindow.Themes.Green);
redTheme.IsChecked = false;
swTheme.IsChecked = false;
defaultTheme.IsChecked = false;
}
else
{
defaultTheme.IsChecked = true;
SetTheme(MainWindow.Themes.Default);
redTheme.IsChecked = false;
greenTheme.IsChecked = false;
swTheme.IsChecked = false;
}
这里是菜单中的XAML代码:
<MenuItem Header="Themes" Click="themeChoice">
<MenuItem Name="defaultTheme" Header="Default" IsCheckable="True" IsChecked="True"/>
<MenuItem Name="greenTheme" Header="Green" IsCheckable="True" IsChecked="False"/>
<MenuItem Name="redTheme" Header="Red" IsCheckable="True" IsChecked="False"/>
<MenuItem Name="swTheme" Header="Star Wars" IsCheckable="True" IsChecked="False"/>
</MenuItem>
就像我说的,如果主题我点击我只能改变主题低于当前启用的主题。所以现在我可以去默认 - >绿色 - >红色 - > sw,我不能发现我的错误。