我有一个 wpf 窗口,其中我有一个带有两个视口(viewport)的堆栈面板 - 每个视口(viewport)中都有一个文本块。
<Grid>
<StackPanel VerticalAlignment="Center" Orientation="Vertical" >
<Viewbox Margin="100,0,100,0">
<TextBlock x:Name="headerText" Text="Lorem ipsum dolor" Foreground="Black"/>
</Viewbox>
<Viewbox Margin="150,0,150,0">
<TextBlock x:Name="subHeaderText" Text="Lorem ipsum dolor, Lorem ipsum dolor, lorem isum dolor, Lorem ipsum dolor, Lorem ipsum dolor, lorem isum dolor, " TextWrapping="Wrap" Foreground="Gray" />
</Viewbox>
</StackPanel>
</Grid>
我想实现的是顶部文本块是带有更大文本的标题。第二个文本块是带有较小文本的子标题。无论标题或副标题有多少文本,字体都应该动态变小/变大。我的问题是我希望副标题是固定宽度的。这意味着,字体应该是标题的百分比 (70%) 并换行到多行,具体取决于我有多少文本。我附上了迄今为止的代码......我错过了那个副标题的东西,无法弄清楚是什么。干杯
编辑
基本上我想要实现的是子标题包装文本,因此它可以将字体向下扩展,字体占标题的 70% - 无论字体有多大。
最佳答案
嵌套堆栈面板将导致文本框正确换行:
<Viewbox Margin="120,0,120,0">
<StackPanel Orientation="Vertical" Width="400">
<TextBlock x:Name="subHeaderText"
FontSize="20"
TextWrapping="Wrap"
Foreground="Black"
Text="Lorem ipsum dolor, lorem isum dolor,Lorem ipsum dolor sit amet, lorem ipsum dolor sit amet " />
</StackPanel>
</Viewbox>
关于wpf - 如何让 WPF TextBlock 在多行上显示我的文本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7406973/