[英]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.