2016-10-10 3 views
0

В моей MainWindow.xaml я следующее:Стиль для MenuItem - Изображение

<Window.Resources> 
    <BitmapImage x:Key="Icon_ResetNetwork" UriSource="/Icons/ResetNetwork_icon.png" /> 
</Window.Resources> 

Тогда у меня есть меню В меню у меня есть пункт меню со следующим определением:

<MenuItem Command="{StaticResource ResetNetwork}" Header="Reset" 
      Icon="{StaticResource Icon_ResetNetwork}"/> 

Я попытался создать общий стиль для MenuItem так я определил в моем App.xaml следующих

<!-- Menu Item --> 
<Style TargetType="{x:Type MenuItem}"> 
    <Setter Property="FontSize" Value="12" /> 
    <Setter Property="FontFamily" Value="Consolas"/> 
    <Setter Property="Background" Value="White"/> 
    <Setter Property="Height" Value="30"/> 
    <Setter Property="VerticalContentAlignment"  Value="Center" /> 
    <Setter Property="VerticalAlignment" Value="Center" /> 
    <Setter Property="HeaderTemplate"> 
     <Setter.Value> 
           <DataTemplate> 
             <TextBlock Text="{Binding}" VerticalAlignment="Center" HorizontalAlignment="Left"/> 
            </DataTemplate> 
        </Setter.Value> 
    </Setter> 
    <Setter Property="Icon"> 
        <Setter.Value> 
         <Image Source="{Binding Icon}" Style="{Binding StaticResource MenueItemImage}" /> 
        </Setter.Value> 
    </Setter> 
</Style> 

Проблемы заключается в том, что вместо значка он представляет адрес (правильные) ИКОН Когда я определяю значок в пределах пункта меню (в MainWindow.xaml) следующим образом:

<MenuItem Command="{StaticResource ResetNetwork}" Header="Reset"> 
    <MenuItem.Icon> 
        <Image Source="{StaticResource Icon_ResetNetwork}" Style="{StaticResource MenueItemImage}"/> 
    </MenuItem.Icon> 
</MenuItem> 

представлена ​​деталь правильно.

ответ

0

Вы должны определить объект Image вашей собственности Icon:

<Menu> 
     <MenuItem> 
      <MenuItem.Icon> 
       <Image> 
        <Image.Source> 
         <BitmapImage UriSource="/your_assembly;component/your_path_here/your_image.png" /> 
        </Image.Source> 
       </Image> 
      </MenuItem.Icon> 
     </MenuItem> 
    </Menu> 

Или:

<ImageSource x:Key="ImageSource">/your_assembly;component/your_path_here/your_image.png</ImageSource> 

<Menu> 
     <MenuItem Header="Reset"> 
      <Image Height="16" 
        Width="16" 
        Source="{StaticResource ImageSource}"></Image> 
     </MenuItem> 

    </Menu> 
Смежные вопросы