XAML 如何在WPF中设置按钮位置与网格单元格边框的边框成比例

ffvjumwh  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(152)

我正在WPF中重新排列窗口中的元素。
我把页面分成3*3的网格,我想在其中一个网格单元格中放置一个按钮,并根据与网格单元格边界的距离比例控制其大小。在这种情况下,当我调整整个窗口的大小时,按钮将相应地调整大小。
我想要的是按钮的左侧到网格单元格边框的左侧边框的距离是网格单元格宽度的20%,右侧到右侧边框的距离也是如此。顶侧和底侧的距离应为网格单元高度的10%。
示例xaml是:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <Button Content="BACK" Grid.Column="0" Grid.Row="2"/>
</Grid>

字符串
在XAML中是否有简单的方法来完成这一点,或者必须通过编程来完成?

velaa5lx

velaa5lx1#

使用另一个具有适当行高和列宽的嵌套3x3网格。

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <Grid Grid.Column="0" Grid.Row="2">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="3*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="8*"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <Button Grid.Column="1" Grid.Row="1" Content="BACK"/>
    </Grid>
</Grid>

字符串

相关问题