我一直在試圖創建一個用戶控件庫,它只是具有默認WPF控件的樣式版本。基本上,我在每個項目中都使用相同的控件風格。用戶控件按鈕 - 樣式 - WPF
所以我認爲,而不是restyling在每個項目中的一切,我可以創建一個用戶控制庫,將所有的控件預先設計。不過,我似乎無法將樣式應用於控件,因爲它會留下一個空白框。
這是按鈕控件的XAML。我知道我一定在做一些完全錯誤的事情,但我似乎無法在網絡上找到關於如何做到這一點的任何信息。
基本上,我只希望這是一個標準的WPF按鈕,但與「世紀的哥特式」的字體,點擊後綠色背景等
任何人都可以點我在正確的方向?
<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>
感謝
當然。這對我來說很糟糕。到目前爲止,我剛剛複製了我的App.xaml,出於某種原因,我從來沒有想過要使用ResourceDictionary。 * HeadDesk * –