1
我開始學習WPF
並且有一些還不清楚對我來說:WPF自定義按鈕
我創造了新的樣式button
:
<!-- no border button style -->
<Style x:Key="NoBorderButton" TargetType="Button">
<Setter Property="Foreground" Value="White" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Style.Triggers>
<Trigger Property="Control.IsMouseOver" Value="true">
<Setter Property="Control.FontSize" Value="18" />
</Trigger>
<Trigger Property="Control.IsMouseOver" Value="true" >
<Setter Property="Foreground" Value="LightSkyBlue" />
</Trigger>
<Trigger Property="Control.IsMouseOver" Value="false" >
<Setter Property="Foreground" Value="White" />
</Trigger>
</Style.Triggers>
</Style>
所以這是我的按鈕:
<Button Content="Button" Style="{StaticResource NoBorderButton}">
</Button>
現在搜索解決方案後,刪除所有邊界我發現這template
需要添加到button
:
<Button.Template>
<ControlTemplate TargetType="{x:Type Button}">
<ContentPresenter Content="{TemplateBinding Content}"/>
</ControlTemplate>
</Button.Template>
所以,我有幾個問題:
- 這是什麼
template
在做什麼? - 爲什麼我不能將它添加到我的
Windows.Resources
裏面創建的style
?
你會發現是一些控制不孝敬某些屬性。在按鈕中,我認爲BorderThickness是硬編碼的。 – Paparazzi