我有一个窗口,想要设置图片而不是标题文本,但它只显示图像命名空间的字符串。
代码:
<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}">
照片:
图标显示正确,图像保存为BitmapImage。
如何在窗口标题中设置图像而不是普通文本?
答案 0 :(得分: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控件作为可视画笔。
答案 1 :(得分: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>
照片