【发布时间】:2011-11-16 10:39:30
【问题描述】:
我有一个 wpf 窗口,其中有一个堆栈面板,其中有两个视口 - 每个视口中都有一个文本块。
<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% - 无论字体有多大。
【问题讨论】:
-
动态调整大小的规则/方程式是什么。好的 sub 是 70% 但如何调整第一个的大小?如果您想要第二个 TextBlock 的固定宽度,请设置 Width。
-
这适用于我不知道屏幕尺寸/分辨率的环境。所以宽度是使用边距设置的,因此我可以在所有屏幕上表现相同。标题的大小由视口决定,这意味着文本块总是以最大尺寸显示。 - 再次取决于屏幕分辨率。