繁体   English   中英

如何在网格中设置 50% 的显示器宽度?

[英]How to set 50% of my monitor width in a grid?

我想从我的显示器设置宽度 50%。

第一行应该与第二行相同:

第一行应该和第二行一样

我的代码:

<DataTemplate x:Key="RowTemplate">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <TextBox Grid.Column="0"
                 Grid.Row="1"
                 TextWrapping="Wrap"
                     Text="{Binding Mask}"/>
        <TextBox Grid.Column="1"
                 Grid.Row="1"
                 TextWrapping="Wrap"
                     Text="{Binding Value}"/>
    </Grid>
</DataTemplate>

应该是这样的

我使用列表框重现了您的问题。

这种行为是因为列表框中有一个滚动查看器,它告诉内容它可以有尽可能多的宽度(和高度)。 因此,* 度量值的一半没有固定数量。

您可以通过禁用水平滚动来避免这种行为。 我还必须强制该行拉伸以适应它的父级。

工作标记:

<Window.Resources>
    <DataTemplate x:Key="RowTemplate">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <TextBox Grid.Column="0"
             TextWrapping="Wrap"
                 Text="{Binding Mask}"/>
            <TextBox Grid.Column="1"
             TextWrapping="Wrap"
                 Text="{Binding Value}"/>
        </Grid>
    </DataTemplate>
</Window.Resources>
<Grid>
    <ListBox ItemTemplate="{StaticResource RowTemplate}"
             ItemsSource="{Binding MyRows}"
             HorizontalContentAlignment="Stretch"
             ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
    </ListBox>
</Grid>
</Window>

这里的两条关键线是:

             HorizontalContentAlignment="Stretch"
             ScrollViewer.HorizontalScrollBarVisibility="Disabled" >

通过一些测试数据,我看到:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM