2016-03-07 94 views
1

我有一个窗口,并且想要设置图片而不是标题文本,但它只显示图像名称空间的字符串。如何使用MashAPPs.Metro在XAML中的窗口标题中设置图像

代码:

<Controls:MetroWindow x:Class="AdminControlCenter.View.MainView" 
    ... 
    Title="{Binding ImageViewModel.TitleBarImage}" Height="400" Width="600" 
    mc:Ignorable="d" 
    d:DataContext="{d:DesignInstance vm:MainViewModel}" Icon="{Binding ImageViewModel.Icon}"> 

图片:

enter image description here

图标显示正确并且图像被保存为一个的BitmapImage。

如何在窗口标题中设置图像而不是普通文本?

+0

取而代之的是,为什么不要将图像存储在应用程序根文件夹中,并指定图像的路径。 – VVN

+0

我使用MVVM模式制作程序 – SeeuD1

+0

窗口图标对于所有窗口都是通用的吗?那么,为什么要使用MVVM模式?只需指定图标的路径即可。 – VVN

回答

0

我与LeftWindow命令的图像和右眼窗口菜单等实现它..

代码:

<Controls:MetroWindow.LeftWindowCommands> 
<Controls:WindowCommands> 
    <Image Source="{Binding ImageViewModel.TitleBarImage}"/> 
</Controls:WindowCommands> 
</Controls:MetroWindow.LeftWindowCommands> 

<Controls:MetroWindow.RightWindowCommands> 
    <Controls:WindowCommands> 
     <VisualBrush Stretch="Fill"/> 
     <StackPanel Name="menuHolder" Orientation="Horizontal"> 
      <Menu Name="MenuBar"> 
       <MenuItem Name="Options" Header="Options" > 
        <MenuItem Name="Settings" Header="Settings"/> 
        <MenuItem Name="Close" Header="Close"/> 
       </MenuItem> 
      </Menu> 
     </StackPanel> 
    </Controls:WindowCommands> 
</Controls:MetroWindow.RightWindowCommands> 

图片

enter image description here

1

由于您使用MahApps控制你需要做的是这样的:

<Controls:MetroWindow.IconTemplate> 
    <DataTemplate> 
     <Grid Width="{TemplateBinding Width}" 
       Height="{TemplateBinding Height}" 
       Margin="8 8 0 8" 
       Background="Transparent" 
       RenderOptions.EdgeMode="Aliased" 
       RenderOptions.BitmapScalingMode="HighQuality"> 
      <Rectangle Fill="White"> 
       <Rectangle.OpacityMask> 
        <VisualBrush Visual="{StaticResource appbar_resource_group}" Stretch="Uniform"/> 
       </Rectangle.OpacityMask> 
      </Rectangle> 
     </Grid> 
    </DataTemplate> 
</Controls:MetroWindow.IconTemplate> 

如果需要,您可以使用Image控件的视觉刷。

相关问题