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

时间:2016-07-07 01:29:21

标签: c# wpf button margin

我有一个像这样控制的窗口:

Preview display

但是,当我启动我的按钮有一个像这样的填充:

final display

这是我的代码的一部分:

<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>

有人可以说我为什么有这个填充物以及我可以将其删除?

我试着在我的按钮中添加一个填充否定,但它是相同的显示

2 个答案:

答案 0 :(得分:0)

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

像这样。

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

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

  • 找到样式资源,删除或设置样式的x:key属性。
  • 为每个Padding = 0Button Resources本地设置Grid,将优先提及here

希望有所帮助:)

答案 1 :(得分:0)

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

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

<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>

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

Final Result