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