为什么这不起作用:
<Button Width="200" Height="50">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource Self}, Path=Height}"/>
<Setter Property="Background" Value="Blue"/>
<Style.Triggers>
<Trigger Property="Button.IsPressed" Value="true">
<Setter Property="Background" Value="green"/>
<Setter Property="Height" Value="20"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
<Button.Template>
<ControlTemplate>
<Canvas x:Name="MainCanvas" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}">
<Border
Width="{TemplateBinding Width}" Height="{TemplateBinding Height}"
x:Name="Border"
CornerRadius="2"
BorderThickness="1"
Background="{TemplateBinding Background}"
BorderBrush="black">
<ContentPresenter
Margin="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
RecognizesAccessKey="True"/>
</Border>
</Canvas>
</ControlTemplate>
</Button.Template>
Hello
</Button>
像这样:
<Button Width="200" >
<Button.Style>
<Style TargetType="Button">
<Setter Property="Height" Value="50"/>
<Setter Property="Background" Value="Blue"/>
<Style.Triggers>
<Trigger Property="Button.IsPressed" Value="true">
<Setter Property="Background" Value="green"/>
<Setter Property="Height" Value="20"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
<Button.Template>
<ControlTemplate>
<Canvas x:Name="MainCanvas" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}">
<Border
Width="{TemplateBinding Width}" Height="{TemplateBinding Height}"
x:Name="Border"
CornerRadius="2"
BorderThickness="1"
Background="{TemplateBinding Background}"
BorderBrush="black">
<ContentPresenter
Margin="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
RecognizesAccessKey="True"/>
</Border>
</Canvas>
</ControlTemplate>
</Button.Template>
Hello
</Button>
我希望按钮在按下时缩小。这是一个自定义控件的原型,因此样式稍后将被提升到一个 Generics.xmal 文件中。为什么它没有在 Button 上显示“Hello”字符串???