我有一个 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/

10-17 02:01