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"/>
并让按钮中的文本在两个轴的中心位置。这不起作用,我找不出原因。我在代码中错过了什么?谢谢!
为什么你有所有的嵌套模板? –