预览和 window 显示之间的大小按钮边距不同

Size button margin different between preview and window display

我有一个 window 有这样的一些控制:

但是当我启动我的按钮时有这样的填充:

这是我的代码的一部分:

<Grid>
    <Rectangle Fill="Gray"/>
    <Button Width="60" Height="60" Margin="117,10,117,201">up</Button>
    <Button Width="60" Height="60" Margin="57,70,177,141">left</Button>
    <Button Width="60" Height="60" Margin="117,70,117,141">reset</Button>
    <Button Width="60" Height="60" Margin="177,70,57,141">right</Button>
    <Button Width="60" Height="60" Margin="117,130,117,81">drown</Button>

    <Button Width="60" Height="60" Margin="12,201,222,10">load</Button>
    <Button Width="60" Height="60" Margin="84,201,150,10">play</Button>
    <Button Width="60" Height="60" Margin="156,201,78,10">previous move </Button>
    <Button Width="60" Height="60" Margin="222,201,12,10">next move</Button>
</Grid>

有人可以告诉我为什么我有这个填充以及我可以删除它吗?

我尝试在我的按钮中添加负填充,但显示效果相同

我感觉到您在运行时将样式资源加载到应用程序,其中包含应用于所有 Button 控件的 默认样式 Button

像这样。

<Style TargetType="Button">            
   <Setter Property="Padding" Value="20,10,0,0" />
</Style>

要克服这个问题,您有两种方法,

  • 找到样式资源,删除或设置样式的 x:key 属性。
  • 在本地为每个 Button 设置 Padding = 0 或在 GridResources 中将优先考虑 here

希望对您有所帮助:)

我找到了解决问题的简单方法。

我已经创建了一个网格来定义我所有元素的大小:

<Grid Margin="55,10,50,75">
 <Grid.RowDefinitions>
  <RowDefinition Height="60" />
  <RowDefinition Height="60" />
  <RowDefinition Height="60" />
 </Grid.RowDefinitions>
 <Grid.ColumnDefinitions>
  <ColumnDefinition Width="60" />
  <ColumnDefinition Width="60" />
  <ColumnDefinition Width="60" />
 </Grid.ColumnDefinitions>

 <Button Name="UpButton" Grid.Row="0" Grid.Column="1"/>
 <Button Name="LeftButton" Grid.Row="1" Grid.Column="0"/>
 <Button Name="ResetButton" Grid.Row="1" Grid.Column="1"/>
 <Button Name="RightButton" Grid.Row="1" Grid.Column="2"/>
 <Button Name="DownButton" Grid.Row="2" Grid.Column="1"/>
</Grid>

现在我在展示中添加了一些