¿如何在XAML中的工具提示中为文本添加分隔线?
我试着用这个:
<Label Name="label4" UseLayoutRounding="False" Focusable="False" AllowDrop="False" Foreground="Black" Margin="6,44,132.027,76" ToolTipService.ShowDuration="12000">
<Label.ToolTip>
<ToolTip>
<TextBlock>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </TextBlock>
<TextBlock>Suspendisse eget urna eget elit ullamcorper tincidunt. Sed nec arcu sed ante sodales </TextBlock>
<TextBlock>Pellentesque elit libero, semper ac tincidunt vitae, euismod at ligula.</TextBlock>
</ToolTip>
</Label.ToolTip>
<Label.Content>
<TextBlock TextAlignment="Right" TextWrapping="Wrap" Height="19" Width="108" >Lorem Ipsum</TextBlock>
</Label.Content>
</Label>
但不起作用:
答案 0 :(得分:89)
我觉得有用的另一种方法是在工具提示中嵌入

。此时工具提示将有一个Linebreak。例如
ToolTip="Host name or IP address of the server. Click the 
Find Server button to help obtain the correct entry."
这允许xaml代码更简洁,但可能不太可读。更多详情请见Newline in string attribute。
答案 1 :(得分:66)
<Label>
<Label.ToolTip>
<TextBlock>
Lorem ipsum dolor sit amet,
<LineBreak />
consectetur adipiscing elit.
</TextBlock>
</Label.ToolTip>
</Label>
....
答案 2 :(得分:18)
更紧凑:
<Label TooTip="Line1 Line2" />
答案 3 :(得分:13)
将您的物品包裹在StackPanel中,将其叠加在另一个
之上你现在拥有的东西将无法编译,因为工具提示只能有1个子对象,并且你试图添加3个
<Label Name="label4" UseLayoutRounding="False" Focusable="False" AllowDrop="False" Foreground="Black" Margin="6,44,132.027,76" ToolTipService.ShowDuration="12000">
<Label.ToolTip>
<StackPanel>
<TextBlock>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </TextBlock>
<TextBlock>Suspendisse eget urna eget elit ullamcorper tincidunt. Sed nec arcu sed ante sodales </TextBlock>
<TextBlock>Pellentesque elit libero, semper ac tincidunt vitae, euismod at ligula.</TextBlock>
</StackPanel>
</Label.ToolTip>
<Label.Content>
<TextBlock TextAlignment="Right" TextWrapping="Wrap" Height="19" Width="108" >Lorem Ipsum</TextBlock>
</Label.Content>
</Label>
答案 4 :(得分:5)
以上答案仅适用于xaml代码。如果要在CS代码中添加新行,请使用&#34; Environment.Newline&#34;
label1.ToolTip="Line1" + Environment.NewLine + "Line2";
答案 5 :(得分:4)
你可以这样做:
<Label>
<Label.ToolTip>
<TextBlock>
Line1
<LineBreak/>
Line2
</TextBlock>
</Label.ToolTip>
</Label>
答案 6 :(得分:2)
以下是换行方法的一种变体:
<Label.ToolTip>
<TextBlock>
<Run Text=”Line1”/>
<LineBreak/>
<Run Text=”Line2”/>
</TextBlock>
</Label.ToolTip>
这样做的好处是每一行都有自己的风格。
答案 7 :(得分:1)
即使您正在寻找XAML解决方案-这里是另一个C#解决方案:
如果您计划将包括工具提示在内的字符串外包到资源文件(.resx)中(例如,多语言支持),则可以在此资源文件中按实际值进行换行,例如使用 Shift + Enter ,它们也将出现在视图中。
答案 8 :(得分:1)
例如,使用绑定从后面的代码。
您可以使用此类:
Environment.NewLine
像这样:
labelName.Tooltip = $"line1 {Environment.NewLine} line2 {Environment.NewLine} line3";
答案 9 :(得分:0)
也有不同的方法。您可以告诉 XAML 您希望在书写时保持相同的间距。这可以通过将属性 bash
设置为父元素 - see MSDN page 以获取详细信息来完成。
xml:space="preserve"
这允许您也可以使用彼此相邻的新行、制表符和多个空格,它们不会被删除。