Silverlight 为什么System.Windows.Controls.Button的填充始终为10px?

Silverlight 为什么System.Windows.Controls.Button的填充始终为10px?,silverlight,user-controls,button,padding,Silverlight,User Controls,Button,Padding,见截图。边界为青色边框的框是按钮,而蓝色填充是矩形。我一辈子都想不出如何去掉按钮上的填充物。有没有办法将矩形放置在左上角,使其接触青色边框 谢谢。您是否尝试将矩形的边距设置为0 <Button x:Name="Button" BorderThickness="0" Margin="0" Padding="0" Width="96" Height="96"> <Rectangle Fill="Blue" Margin="0" Width="96" Height="96"

见截图。边界为青色边框的框是按钮,而蓝色填充是矩形。我一辈子都想不出如何去掉按钮上的填充物。有没有办法将矩形放置在左上角,使其接触青色边框


谢谢。

您是否尝试将
矩形的边距设置为
0

<Button x:Name="Button" BorderThickness="0" Margin="0" Padding="0" Width="96" Height="96">
    <Rectangle Fill="Blue" Margin="0" Width="96" Height="96" />
</Button>

编辑:填充必须来自按钮控件模板。尝试使用自定义模板:

<Style x:Key="MyButton" TargetType="Button">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Button">
                <Grid>
                    <Rectangle Fill="Blue" Margin="0" Width="96" Height="96" />
                </Grid>
           </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

<Button x:Name="Button" BorderThickness="0" Margin="0" Padding="0"
    Width="96" Height="96" Style="{StaticResource MyButton}" />

我无法生成这种明显的行为,但我想知道,您是否会在Windows Phone应用程序中进行开发

如果是这样,您最可能看到的不是填充的结果,而是“PhoneTouchTargetOverhang”的结果。这是App.xaml中的
Thickness
资源,由“PhoneButtonBase”样式用于按钮的外边框
Margin

这实际上是windows phone 7应用于按钮的默认样式的副本。要替换它,您需要实际指定按钮使用“PhoneButtonBase”样式,然后更改“PhoneTouchTargetOverhang”的值。这将使用此样式更新任何按钮。

解决方法:


绘制一个矩形并单击一次。

我在项目中的任何地方都看不到PhoneTouchTargetOverhang”或“PhoneButtonBase”。我甚至将其变为灰色。:“Style='PhoneButtonBase'”无法解析。@MTSoul:您正在开发Windows Phone应用程序吗?