我正在尝试更改自定义模板中按钮的borderbrush属性。使用此方法更改鼠标悬停的背景效果很好,但BorderBrush?纳达。
这是我的代码:
<Style x:Key="ImageButtonStyle" TargetType="Button">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Margin" Value="2"/>
<Setter Property="Background" Value="LightGray"/>
<Setter Property="BorderBrush" Value="Blue"/>
<Setter Property="BorderThickness" Value="3"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Name="border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" Margin="1,0,0,-9">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,1,1,0" Height="94" Width="101"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="Red"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
编辑:实际上,即使是在开始时设置的蓝色边框刷也显示出来,这可能是相关的。
如果有任何重要性,这里使用的是风格。
<Button Margin="191,10,138,109" Style="{StaticResource ImageButtonStyle}">
<Image/>
</Button>
答案 0 :(得分:1)
您将样式设置BorderThickness设置为3,但随后覆盖默认的可视树,因此不会将此厚度设置为acount。添加此
BorderThickness="{TemplateBinding BorderThickness}"
为了看到它。