【发布时间】:2015-02-12 21:35:03
【问题描述】:
我从 Button 创建了一个 DataTemplate,并将 MinWidth 和 MinHeight 放入 0。我在 DataTemplate 的 Grid 上将宽度和高度设置为 75。网格有一个边框,它的 MinWidth 和 MinHeight 也都设置为0。边框的宽度和高度设置为auto(75)。
现在,当我将按钮放在页面上时,其宽度为 109.166664123535,高度为 75。在 Blend 中查看 DataTemplate 时,显示 Grid 及其子项的宽度为 75,但 DataTemplate 本身更宽。
如何使整个 DataTemplate 成为 width 的 75 而不仅仅是 DataTemplate 子项?
编辑 1 在@Guttsy 建议之后,这就是我更改代码的样子。另请注意 NumberPadButtonStyle 删除按钮 ControlTemplate 边框上的顶部和底部填充。代码如下:
<Grid HorizontalAlignment="Center" VerticalAlignment="Top">
<Grid.Resources>
<Style x:Key="SetDominationsNumberPadButtonStyle"
BasedOn="{StaticResource NumberPadButtonStyle}"
TargetType="Button">
<Setter Property="Width" Value="110" />
<Setter Property="Height" Value="110" />
</Style>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Content="1" Style="{StaticResource SetDominationsNumberPadButtonStyle}" />
<Button Grid.Column="1"
Content="2"
Style="{StaticResource SetDominationsNumberPadButtonStyle}" />
<Button Grid.Column="2"
Content="3"
Style="{StaticResource SetDominationsNumberPadButtonStyle}" />
<Button Grid.Row="1"
Grid.Column="0"
Content="5"
Style="{StaticResource SetDominationsNumberPadButtonStyle}" />
<Button Grid.Row="1"
Grid.Column="1"
Content="6"
Style="{StaticResource SetDominationsNumberPadButtonStyle}" />
<Button Grid.Row="1"
Grid.Column="2"
Content="7"
Style="{StaticResource SetDominationsNumberPadButtonStyle}" />
</Grid>
【问题讨论】:
标签: xaml windows-phone-8.1 datatemplate blend visual-studio-2015