web-dev-qa-db-ja.com

ツールチップにブレークラインを追加する

¿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>

しかし、動作しません:

53
Galled
<Label>
  <Label.ToolTip> 
     <TextBlock>
          Lorem ipsum dolor sit amet,
          <LineBreak /> 
          consectetur adipiscing elit. 
      </TextBlock> 
  </Label.ToolTip> 
</Label>
  ....
68
HCL

私が便利だと思う別のアプローチは、&#x0a;ツールチップ。この時点で、ツールチップには改行が表示されます。例えば

ToolTip="Host name or IP address of the server. Click the &#x0a;Find Server button to help obtain the correct entry."

これにより、xamlコードはより簡潔になりますが、おそらく読みにくくなります。 文字列属性の改行 で詳細を確認してください。

92
ausadmin

よりコンパクト:

<Label TooTip="Line1 &#10; Line2" />
17
Nicolas

StackPanelでアイテムをラップします。これにより、アイテムが上下に積み重ねられます。

ToolTipsは子オブジェクトを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>
13
Rachel

上記の回答は、xamlコードのみです。 CSコードに新しい行を追加する場合は、「Environment.Newline」を使用します

label1.ToolTip="Line1" + Environment.NewLine + "Line2";
6
Tk1993

あなたはこれを行うことができます :

<Label>
<Label.ToolTip>
    <TextBlock>  
      Line1
      <LineBreak/>
     Line2
  </TextBlock>
</Label.ToolTip>
</Label>
4
Steven Muhr

改行アプローチのバリエーションは次のとおりです。

<Label.ToolTip>
    <TextBlock>
        <Run Text=”Line1”/>
        <LineBreak/>
        <Run Text=”Line2”/>
    </TextBlock>
</Label.ToolTip>

これの利点は、各行に独自のスタイルを設定できることです。

2
Paul Demesa