【发布时间】:2016-01-20 11:28:00
【问题描述】:
我正在使用 MahApps 制作一个 WPF 应用程序。它可以改变标题栏图标来最小化、最大化和关闭窗口吗?我在网上搜索过,但发现很少,但在寻找其他解决方案之前,我想与您分享这个问题。
我已经尝试过自定义,但没有更改图标图像
<Style x:Key="MetroWindowCloseButtonStyle"
TargetType="{x:Type Button}"
BasedOn="{StaticResource MetroWindowButtonStyle}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid x:Name="grid" Background="#000">
<ContentPresenter x:Name="contentPresenter" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" RecognizesAccessKey="True"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="contentPresenter" Property="Opacity" Value="1" />
<Setter TargetName="grid" Property="Background" Value="#E04343" />
</Trigger>
<Trigger Property="IsMouseOver" Value="False">
<Setter TargetName="contentPresenter" Property="Opacity" Value=".5" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="grid" Property="Background" Value="#993D3D" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="#ADADAD" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
它可以改变图标吗?谢谢
【问题讨论】:
-
只是出于好奇,如果您注释掉 ContentPresenter,图标会消失吗?如果是这样,那建议您只需将自己的图标放在按钮的内容中即可更改图标。
标签: c# wpf xaml titlebar mahapps.metro