【发布时间】:2013-11-21 16:28:24
【问题描述】:
我试图弄清楚 WPF 在呈现启用了换行的文本块时如何做出决策。
我有以下代码:
<Window x:Class="WpfWrapTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Width="200" Height="200">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MinWidth="5"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Border Background="Yellow" Grid.Column="0"></Border>
<GridSplitter ResizeDirection="Columns" Grid.Column="1" Width="3" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"></GridSplitter>
<Grid Grid.Column="2" MinWidth="40">
<TextBlock TextWrapping="Wrap">asdflk;jsadlkfjlaskdjflasdkjflk laskdjfl;askjd l;kasjdf l;kjsadf ;lkajsdfl k</TextBlock>
</Grid>
</Grid>
当启动 WPF 时决定让我的文本块大于屏幕并且不考虑这一点来进行换行
然后,当我拖动 gridsplitter 时,它会以某种方式做出不同的决定(可能是因为 gridsplitter 正在设置相邻控件的宽度?)
此示例中的第三个奇怪行为是,当您尝试将 gridsplitter 向左拖动时超出其所能移动的位置(第 1 列的最小宽度为 5)。然后它决定在可视屏幕空间之外重新放大文本块。
是什么让 WPF 做其中之一?
【问题讨论】:
标签: c# wpf xaml text word-wrap