这是我的代码。
<StackPanel Orientation="Horizontal">
<TextBlock Name="Link1" Text="this is link1"></TextBlock>
<TextBlock Name="Text1" Text=" some text "></TextBlock>
<TextBlock Name="Link2" Text="this is link2"></TextBlock>
<TextBlock Name="Text2" Text=" some other text "></TextBlock>
<TextBlock Name="Link3" Text="this is link3></TextBlock>
</StackPanel>
现在这个StackPanel将离开屏幕。我想把它的内容包装到屏幕端的下一行。
我没有使用TextBlock的<Run>
属性来定义所有这些,因为我想在上面的代码中为Tap
定义的TextBlocks注册Links
事件。此处也不需要使用Button
和Hyperlink
s。使用按钮我也会遇到包装内容的相同问题。
答案 0 :(得分:1)
我在这里看到三个选项:
RichTextBox
WrapPanel
Panel
我认为#1应该是首选方法,假设您可以使其符合要求。 RichTextBox可以包含与Hyperlinks
内联的纯文本 - 后者不会公开Tap
事件,但它确实有Click
,这可能就足够了。
如果不这样做,#2也应该相当简单,如果您可以使用WrapPanel将TextBlocks视为原子的限制(即,它不会包裹文本块内文本),则可能就足够了。
方法#3在理论上允许更多的灵活性,但实施需要一些努力和专业知识。当您可能需要根据新的或不可预见的要求调整自定义面板时,您可能还会面临一些麻烦。