<Window x:Class="WPFTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WPFTest"
mc:Ignorable="d"
SizeToContent="WidthAndHeight">
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="7*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="123"/>
<TextBlock Grid.Column="1"
Background="LightGray"
Text="long long long long long long long long long long long long long long long long "/>
</Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="7*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="123"/>
<TextBlock Grid.Column="1" Background="LightYellow" Text="short"/>
</Grid>
</StackPanel>
</Window>
简单示例,窗口和窗口宽度相同30%/ 70%的两个网格设置为SizeToContent宽度和高度。
预期的行为应该是窗口自动调整为长字符串占据宽度的70%的点。
我做错了什么以及如何解决?
P.S。第二行只是显示实际的30%/ 70%比率,我的主要目标是让窗口自动调整大小以适应具有正确比率的长字符串
编辑:即使我进行文本换行/文本修剪,我也无法获得正确的比例
<TextBlock Grid.Column="1"
Background="LightGray"
TextWrapping="WrapWithOverflow"
TextTrimming="CharacterEllipsis"
Text="long long long long long long long long long long long long long long long long "/>
窗口与之前相同