控制模板 - XAML WinRT按钮填充

时间:2015-03-14 19:26:25

标签: c# xaml windows-runtime

我已经开始使用XAML作为我的空闲时间的一部分,现在我对标准按钮的填充有问题。 我有一个网格的下面的代码驻留在另一个网格,所以我的页面内有四个网格,问题是按钮被切断,我无法更改按钮的宽度或填充。

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <TextBlock Text="{Binding Name}" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" HorizontalAlignment="Center" FontSize="24"/>
    <Button x:Name="Player2MinusButton" Content="-" Grid.Row="1" Grid.Column="0" FontSize="20" ></Button>
    <Button x:Name="Player2PlusButton" Content="+" Grid.Row="1" Grid.Column="2" FontSize="20" ></Button>
</Grid>

问题是现在,按钮被切断,如下面的屏幕截图所示:

enter image description here

我已经尝试设置负填充/边距以及制作自定义样式:

<Style TargetType="Button" x:Key="ButtonStyle">
    <Setter Property="Padding" Value="-10,0"/>
</Style>

感谢你的提示,我希望我的第一个问题没有遗忘。 迈克尔

1 个答案:

答案 0 :(得分:1)

由于您需要比标准按钮更窄的按钮设置按钮的MinWidth属性:

<Button x:Name="Player2PlusButton" Content="+" Grid.Row="1" Grid.Column="2" FontSize="20" MinWidth=50 AutomationProperties.Name="Plus Button" ></Button>

如果您复制按钮模板(右键单击设计器中的按钮,然后选择编辑模板...并按照提示操作),您将找到以下内容:

<x:Double x:Key="PhoneButtonMinHeight">57.5</x:Double>
<x:Double x:Key="PhoneButtonMinWidth">109</x:Double>

我假设您正在手机上运行:Windows应用商店按钮模板不同,并且未设置最小值。默认情况下,你的按钮在那里很小。