Значок меню WPF Изменение проблемы - PullRequest
2 голосов
/ 26 марта 2011

У меня проблемы с меню 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 разных меню?

Спасибо большое !!!

1 Ответ

2 голосов
/ 26 марта 2011

Вы должны убедиться, что вы создаете новое изображение для каждого элемента меню. Одно изображение нельзя использовать в нескольких местах.

Это распространенная ошибка, и, вероятно, это то, с чем вы сталкиваетесь. Изображение является визуальным, как кнопка. Если вы установите MenuItem.Icon для двух MenuItem на одно и то же изображение, то это изображение должно появиться в визуальном дереве в двух местах (что не разрешено).

Вы можете создать новое изображение из старого, скопировав значение Image.Source.

...