我一直在尝试创建一个用户控件库,它只是具有默认 WPF 控件的样式版本。基本上我在我做的每个项目中都使用相同风格的控件。
因此,我认为与其重新设计每个项目中的所有内容,不如创建一个用户控件库,该库将预先设置所有控件的样式。但是我似乎无法将样式应用于控件,因为它给我留下了一个空白框。
这是按钮控件的 XAML。我知道我一定是在做一些完全错误的事情,但我似乎无法在网上找到任何关于如何做到这一点的信息。
基本上我只是希望这是一个标准的 wpf 按钮,但字体为“Century Gothic”,单击时为绿色背景等。
谁能指出我正确的方向?
<Button x:Class="IM.WPF.Controls.imButton"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="23"
d:DesignWidth="75">
<Button.Style>
<Style TargetType="Button"
x:Name="imButtonStyle">
<Setter Property="SnapsToDevicePixels"
Value="True" />
<Setter Property="OverridesDefaultStyle"
Value="True" />
<Setter Property="Content"
Value="imButton" />
<Setter Property="BorderBrush"
Value="#006150" />
<Setter Property="FontFamily"
Value="Century Gothic" />
<Setter Property="FontSize"
Value="12" />
<Setter Property="Foreground"
Value="#006150" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<ControlTemplate.Triggers>
<Trigger Property="IsPressed"
Value="True">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush>
<GradientStop Color="#006150"
Offset="0" />
<GradientStop Color="#006150"
Offset="0.5" />
<GradientStop Color="#006150"
Offset="0.5" />
<GradientStop Color="#006150"
Offset="0.9" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Button.Style>
<Button.Background>
<LinearGradientBrush StartPoint="0,0"
EndPoint="0,1">
<GradientStop Color="White"
Offset="0" />
<GradientStop Color="#E0E0E0"
Offset="0.5" />
<GradientStop Color="LightGray"
Offset="0.5" />
<GradientStop Color="DarkGray"
Offset="0.9" />
</LinearGradientBrush>
</Button.Background>
</Button>
谢谢