web-dev-qa-db-fra.com

Ajouter une ligne de rupture dans l'infobulle

¿Comment puis-je ajouter une ligne de rupture à un texte dans une info-bulle en XAML?

J'essaye avec ça:

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

Mais ça ne marche pas:

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

Une autre approche que je trouve utile consiste à intégrer &#x0a; dans l'info-bulle. L'info-bulle aura alors un saut de ligne à ce stade. Par exemple

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

Cela permet au code xaml d'être plus concis, mais peut-être moins lisible. Plus de détails sur Newline dans l'attribut de chaîne .

92
ausadmin

Plus compact:

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

Enveloppez vos objets dans un StackPanel, qui les empilera les uns sur les autres

Ce que vous avez maintenant ne sera pas compilé car les info-bulles ne peuvent avoir qu'un seul objet enfant et vous essayez d'en ajouter 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

Les réponses ci-dessus ne concernent que le code xaml. Si vous souhaitez ajouter une nouvelle ligne dans le code CS, utilisez "Environment.Newline"

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

Tu peux le faire :

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

Voici une variante de l'approche de saut de ligne:

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

L'avantage est que chaque ligne peut avoir son propre style.

2
Paul Demesa