0
我正在寫一個自定義按鈕:範本ContentPresenter約束力不工作
<UserControl x:Class="WpfSinergoHMIControls.RoundedButton"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfSinergoHMIControls"
mc:Ignorable="d">
<UserControl.Template>
<ControlTemplate TargetType="UserControl">
<Button Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" Click="button_Click" PreviewMouseDown="Button_MouseDown" PreviewMouseUp="Button_MouseUp">
<Button.Resources>
</Button.Resources>
<Button.Template>
<ControlTemplate TargetType="Button">
<Border Width="{Binding Size}"
Height="{Binding Size}"
BorderBrush="#FF3C7FB1"
BorderThickness="1"
CornerRadius="5"
Name="RoundedButtonBorder">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#3a4451" Offset="0"/>
<GradientStop Color="#0b2039" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<ContentPresenter VerticalAlignment="{TemplateBinding VerticalAlignment}" HorizontalAlignment="{TemplateBinding HorizontalAlignment}"/>
</Border>
</ControlTemplate>
</Button.Template>
</Button>
</ControlTemplate>
</UserControl.Template>
,我想要綁定「HorizontalAlignement」和ContentPresenter到模板的「VerticalAlignment」。然後,我想要做的是使用這樣的按鈕:
<local:RoundedButton HorizontalAlignment="Center" VerticalAlignment="Center" Height="73" Margin="35,10,282,236" FontSize="30" Width="200" Content="Hello" Foreground="Red"/>
並讓按鈕中的文本在兩個軸的中心位置。這不起作用,我找不出原因。我在代碼中錯過了什麼?謝謝!
爲什麼你有所有的嵌套模板? –