Kin*_*han 18 silverlight wpf xaml textblock
所以考虑如下:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="WrapTextBlock" Grid.Column="0" Text="123 456 789 0123 4456 123 123 123 123 1 23 123 " TextWrapping="Wrap" />
<TextBlock x:Name="NotWrapTextBlock" Grid.Column="1" Text="GGG" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
这个xaml将允许WrapTextBlock
文本换行,这样做,WrapTextBlock
将占用所有空间并NotWrapTextBlock
向右推.
但我想要做的是尽量WrapTextBlock
减少占用空间,然后NotWrapTextBlock
向右推动WrapTextBlock
并用空的空间填充右侧.这意味着以下内容:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="WrapTextBlock" Grid.Column="0" Text="123 456 789 0123 4456 123 123 123 123 1 23 123 " TextWrapping="Wrap" />
<TextBlock x:Name="NotWrapTextBlock" Grid.Column="1" Text="GGG" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
但这里的事情是,现在文本WrapTextBlock
将不再包装.
有解决方案吗
====编辑:我的意思是:
当文本太长时,它需要扭曲:
当文本足够短而不需要变形时:
Chr*_* W. 20
原因是将您定义ColumnDefinition
为自动或*您没有任何限制可供您TextBlock
使用的大小.因此,文本的预期行为不会被包裹.所以你必须定义一个Width
或MaxWidth
在任一ColumnDefinition
或TextBlock
直接.所以例如;
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" MaxWidth="50"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="WrapTextBlock" Text="123 456 789 0123 4456 123 123 123 123 1 23 123 " TextWrapping="Wrap" />
<TextBlock x:Name="NotWrapTextBlock" Grid.Column="1" Text="GGG" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
会给你你的包装,如果你想说而只是允许它例如说,网格必须使用7%的空间,改变之类Width
的东西;
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.07*"/>
<ColumnDefinition Width="0.93*"/>
</Grid.ColumnDefinitions>
Run Code Online (Sandbox Code Playgroud)
因此,第一列将占用可用空间的7%,右列将消耗其余空间.希望这可以帮助.
编辑添加:
您展示的内容几乎与您的第一个列应该推送的第一个片段对齐,第二个列应该只允许其内容显示的足够空间;
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="WrapTextBlock" Grid.Column="0" Text="123 456 789 0123 4456 123 123 123 123 1 23 123 " TextWrapping="Wrap" />
<TextBlock x:Name="NotWrapTextBlock" Grid.Column="1" Text="GGG" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25771 次 |
最近记录: |