WPF 列宽度和 TextBlock 大小调整
我在 xaml 中有一个网格,有两列,宽度分别为 4.5* 和 5.5*
在第 1 列中我有一个文本块。当此文本块包含非常长的文本时,它会使文本块列变得非常宽,而我的第二列变得越来越小。
我需要文本块列保持设置的宽度并换行文本。
这是xaml:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="25" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4.5*"/>
<ColumnDefinition Width="5.5*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="lblCheck" Text="{Binding Path=Text}" Grid.Column="0" Grid.Row="0" TextWrapping="Wrap" Margin="5,0,0,0"/>
<CheckBox x:Name="chkOption" Grid.Column="1" IsChecked="{Binding Path=Checked}" Grid.Row="0" IsEnabled="True"/>
</Grid>
谢谢
I have a grid in xaml that has two columns with widths 4.5* and 5.5*
In column 1 i have a textblock. When this textblock has text that is very long it is making the textblock column very wide and my second column is getting smaller.
I need the textblock column to stay the wide that is set and wrap the text instead.
Here is the xaml:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="25" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4.5*"/>
<ColumnDefinition Width="5.5*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="lblCheck" Text="{Binding Path=Text}" Grid.Column="0" Grid.Row="0" TextWrapping="Wrap" Margin="5,0,0,0"/>
<CheckBox x:Name="chkOption" Grid.Column="1" IsChecked="{Binding Path=Checked}" Grid.Row="0" IsEnabled="True"/>
</Grid>
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您发布的代码工作正常,除了您的 RowHeight 设置为 35 之外,它最多只为我显示 2 行文本。
尝试将 RowHeight 设置为 *
The code you posted works fine, other than the fact your RowHeight is set to 35 so it only shows at most 2 lines of text for me.
Try setting your RowHeight to *
如果您尝试将第一列的宽度设置为
4.5
并将第二列的宽度设置为*
会怎么样?What if you try to set width of column 1 as
4.5
and second as*