我有一个wpf窗口,其中我有一个带有两个视口的stackpanel - 每个视口中都有一个文本块.
<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>
Run Code Online (Sandbox Code Playgroud)
我想要实现的是顶部文本块是带有更大文本的标题.第二个文本块是具有较小文本的子标题.无论标题或子标题有多少文本,字体都应该动态变小/变大.我的问题是我希望副标题是固定宽度.这意味着,字体应该是标题的百分比(70%)并换行到多行,具体取决于我有多少文本.我附上了我到目前为止的代码......我错过了那个副标题,无法弄清楚是什么.干杯
编辑 基本上我想要实现的是子标题包装文本所以它可以向下扩展它,字体是标题的70% - 无论字体有多大.
Bri*_*ard 73
嵌套stackpanel将导致文本框正确包装:
<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>
Run Code Online (Sandbox Code Playgroud)
Ton*_*tio 35
使用该属性TextWrapping的的TextBlock元素:
<TextBlock Text="StackOverflow Forum"
Width="100"
TextWrapping="WrapWithOverflow"/>
Run Code Online (Sandbox Code Playgroud)
RDV*_*RDV 13
使用Linebreak:
<TextBlock>
<Run Text="Line1"/>
<LineBreak/>
<Run Text="Line2" FontStyle="Italic" FontSize="9"/>
<LineBreak/>
<Run Text="Line3"/>
</TextBlock>
Run Code Online (Sandbox Code Playgroud)
请参阅:https://social.msdn.microsoft.com/Forums/vstudio/en-US/51a3ffe4-ec82-404a-9a99-6672f2a6842b/how-to-give-multiline-in-textblock?forum=wpf
谢谢,
RDV
| 归档时间: |
|
| 查看次数: |
103287 次 |
| 最近记录: |