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应用程序吗?