2016-10-10 3 views
0

In meinem MainWindow.xaml ich habe folgendes:Stil für MenuItem - Bild

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

Dann habe ich ein Menü Im Menü ich einen Menüpunkt mit der folgenden Definition haben:

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

ich habe versucht, einen allgemeinen Stil für MenuItem zu schaffen, damit ich in meinem App.xaml

folgenden definiert
<!-- 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> 

Das Problem ist, dass anstelle des Symbols es präsentiert (die richtige) Adresse des Icon Wenn ich auf das Symbol in der Menüpunkt (in MainWindow.xaml) in folgender Weise definieren:

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

Der Artikel präsentiert wird korrekt.

Antwort

0

Sie haben Icon Objekt von Image, um Ihr Eigentum zu definieren:

<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> 

Oder:

<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>