WPF:在四个角创建包含文本的框

时间:2014-05-23 21:51:54

标签: c# wpf

在WPF中,我尝试在每个角落创建一个带有四个标签的按钮。它看起来像一个骰子(死?),角落里有文字而不是圆点。

此代码无效:

<Button HorizontalAlignment="Stretch" Background="Red" Height="100" >
    <Grid ShowGridLines="True">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition/>                               
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition/>                                                
        </Grid.ColumnDefinitions>

        <Label Grid.Row="0" Grid.Column="0" Content="TopLeft"/>
        <Label Grid.Row="0" Grid.Column="1" Content="TopRight" HorizontalContentAlignment="Right" VerticalContentAlignment="Bottom" HorizontalAlignment="Right" VerticalAlignment="Bottom" />

        <Label Grid.Row="1" Grid.Column="0" Content="BottomLeft"/>
        <Label Grid.Row="1" Grid.Column="1" Content="BottomRight" HorizontalContentAlignment="Right" VerticalContentAlignment="Bottom" HorizontalAlignment="Right" VerticalAlignment="Bottom" />
</Grid>
</Button>

它将文本混合到网格的中心,而不是将其移动到角落。看起来网格没有占据按钮中的所有空间。

任何帮助表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:0)

设置按钮拉伸的VerticalContentAlignmentHorizontalContentAlignment

<Button HorizontalAlignment="Stretch" Background="Red" Height="100" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
    <Grid ShowGridLines="True" VerticalAlignment="Stretch" >
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>

        <Label Grid.Row="0" Grid.Column="0" Content="TopLeft"/>
        <Label Grid.Row="0" Grid.Column="1" Content="TopRight" HorizontalContentAlignment="Right" VerticalContentAlignment="Bottom" HorizontalAlignment="Right" VerticalAlignment="Bottom" />

        <Label Grid.Row="1" Grid.Column="0" Content="BottomLeft" VerticalContentAlignment="Bottom" />
        <Label Grid.Row="1" Grid.Column="1" Content="BottomRight" HorizontalContentAlignment="Right" VerticalContentAlignment="Bottom" HorizontalAlignment="Right" VerticalAlignment="Bottom" />
    </Grid>
</Button>