我在Stackpanel中有一个按钮,它似乎有填充,但我已经将其设置为0
这显示从按钮边界移动的按钮背景
是否有任何特殊的边距、边框或其他设置我可能会错过?
下面是XAML:
<StackPanel Orientation="Vertical"
VerticalAlignment="Center"
HorizontalAlignment="Center">
<Button x:Name="btnOpcion1"
Style="{StaticResource BtnPrincipal}"/>
</StackPanel>
这是风格:
<Style x:Key="BtnPrincipal" TargetType="Button">
<Setter Property="Background" Value="{StaticResource AzulAquaOscuro}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Height" Value="40" />
<Setter Property="Foreground" Value="White" />
<Setter Property="Width" Value="200" />
<Setter Property="Padding" Value="0" />
<Setter Property="Margin" Value="5" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{StaticResource AzulAquaClaro}" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" Value="{StaticResource GrisClaro}" />
<Setter Property="Cursor" Value="No" />
</Trigger>
</Style.Triggers>
</Style>
1条答案
按热度按时间bxgwgixi1#
我注意到你在按钮样式里设置了按钮的宽度和高度,如果StackPanel的宽度和高度比按钮的小,那么它在设计窗口里看起来会有点奇怪。
在您的示例中,您可能已将StackPanel的大小指定为与按钮相同的大小,但是请记住,按钮的边距为5,这会使其看起来像是移动了一点。
我尝试了一些类似于您在示例中所做的操作,它看起来如下所示:
要解决这个问题,你可以尝试不在按钮样式中指定详细的宽度/高度,或者简单地将它们设置为自动并在拉伸时对齐。这将使你的按钮根据StackPanel的大小设置它的宽度/高度。