0
爲什麼不這項工作:WPF設定值
<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>
我想要的按鈕,當我按下它縮小。這是一個自定義控件的原型,所以Style將在稍後提供給Generics.xmal文件。爲什麼它不顯示Button上的'Hello'字符串?
TargetType爲第一個問題做了訣竅。要做一個自定義控件,我可以設置一個高度,並且我希望寬度在某個觸發器上改變。因此,將會是一個genric.axml文件,它的開頭是這樣的: