Condividi tramite


Panoramica dei suggerimenti

Una descrizione comando è una piccola finestra popup visualizzata quando un utente sospende il puntatore del mouse su un elemento, ad esempio su un Button. Questo argomento introduce il tooltip e illustra come creare e personalizzare il contenuto del tooltip.

Che cos'è un suggerimento

Quando un utente sposta il puntatore del mouse su un elemento con una descrizione comando, viene visualizzata una finestra contenente il contenuto della descrizione comando (ad esempio, il contenuto di testo che descrive la funzione di un controllo) per un periodo di tempo specificato. Se l'utente sposta il puntatore del mouse lontano dal controllo, la finestra scompare perché il contenuto della descrizione comando non può ricevere il focus.

Il contenuto di un tooltip può contenere una o più righe di testo, immagini, forme o altri contenuti visivi. Definisci una descrizione comando per un controllo impostando una delle seguenti proprietà sul contenuto della descrizione comando.

La proprietà utilizzata dipende dal fatto che il controllo che definisce la descrizione comando eredita dalla classe FrameworkContentElement o FrameworkElement.

Creazione di un suggerimento

Nell'esempio seguente viene illustrato come creare una descrizione comando semplice impostando la proprietà ToolTip per un controllo Button su una stringa di testo.

<Button ToolTip="Click to submit your information" 
        Click="SubmitCode" Height="20" Width="50">Submit</Button>

È anche possibile definire una descrizione comando come oggetto ToolTip. L'esempio seguente usa XAML per specificare un oggetto ToolTip come descrizione comando di un elemento TextBox. Si noti che l'esempio specifica il ToolTip impostando la proprietà FrameworkElement.ToolTip.

<TextBox HorizontalAlignment="Left">ToolTip with non-text content
  <TextBox.ToolTip>
    <ToolTip>
      <DockPanel Width="50" Height="70">
        <Image Source="data\flower.jpg"/>
        <TextBlock>Useful information goes here.</TextBlock>
      </DockPanel>
    </ToolTip>
  </TextBox.ToolTip>
</TextBox>

Nell'esempio seguente viene utilizzato il codice per generare un oggetto ToolTip. Nell'esempio viene creato un ToolTip (tt) e lo associa a un Button.

button = new Button();
button.Content = "Hover over me.";
tt = new ToolTip();
tt.Content = "Created with C#";
button.ToolTip = tt;
cv2.Children.Add(button);
button = New Button()
button.Content = "Hover over me."
tt = New ToolTip()
tt.Content = "Created with Visual Basic"
button.ToolTip = tt
cv2.Children.Add(button)

È possibile anche creare del contenuto del tooltip non definito come oggetto ToolTip racchiudendo il contenuto tooltip all'interno di un elemento di layout, come un DockPanel. Nell'esempio seguente viene illustrato come impostare la proprietà ToolTip di un TextBox sul contenuto racchiuso in un controllo DockPanel.

<TextBox>
  ToolTip with image and text
  <TextBox.ToolTip>
       <StackPanel>
        <Image Source="data\flower.jpg"/>
        <TextBlock>Useful information goes here.</TextBlock>
      </StackPanel>
  </TextBox.ToolTip>

Utilizzo delle proprietà delle classi ToolTip e ToolTipService

È possibile personalizzare il contenuto della descrizione comando definendo le proprietà visive e applicando gli stili desiderati. Se si definisce il contenuto della descrizione comando come oggetto ToolTip, è possibile impostare le proprietà visive dell'oggetto ToolTip. In caso contrario, è necessario impostare proprietà associate equivalenti nella classe ToolTipService.

Per un esempio di come impostare le proprietà per specificare la posizione del contenuto del tooltip utilizzando le proprietà ToolTip e ToolTipService, vedere Posizionare un tooltip.

Stile di un tooltip

È possibile applicare uno stile a un ToolTip definendo un Stylepersonalizzato. Nell'esempio seguente viene definita una Style denominata Simple che illustra come compensare la posizione del ToolTip e modificarne l'aspetto impostando l'Background, Foreground, FontSizee FontWeight.

<Style TargetType="ToolTip">
  <Setter Property = "HorizontalOffset" Value="10"/>
  <Setter Property = "VerticalOffset" Value="10"/>
  <Setter Property = "Background" Value="LightBlue"/>
  <Setter Property = "Foreground" Value="Purple"/>
  <Setter Property = "FontSize" Value="14"/>
  <Setter Property = "FontWeight" Value="Bold"/>
</Style>

Utilizzo delle proprietà dell'intervallo di tempo di ToolTipService

La classe ToolTipService fornisce le seguenti proprietà per impostare i tempi di visualizzazione dei tooltip: InitialShowDelay, BetweenShowDelaye ShowDuration.

Utilizzare le proprietà InitialShowDelay e ShowDuration per specificare un ritardo, in genere breve, prima che venga visualizzata una ToolTip e anche per specificare per quanto tempo un ToolTip rimane visibile. Per ulteriori informazioni, consulta Come ritardare la visualizzazione di una descrizione comando.

La proprietà BetweenShowDelay determina se le descrizioni comando per controlli diversi vengono visualizzate senza un ritardo iniziale quando si sposta rapidamente il puntatore del mouse tra di essi. Per altre informazioni sulla proprietà BetweenShowDelay, vedere Utilizzare la proprietà BetweenShowDelay.

Nell'esempio seguente viene illustrato come impostare queste proprietà per un tooltip.

<Ellipse Height="25" Width="50" 
         Fill="Gray" 
         HorizontalAlignment="Left"
         ToolTipService.InitialShowDelay="1000"
         ToolTipService.ShowDuration="7000"
         ToolTipService.BetweenShowDelay="2000">
  <Ellipse.ToolTip>
    <ToolTip Placement="Right" 
             PlacementRectangle="50,0,0,0"
             HorizontalOffset="10" 
             VerticalOffset="20"
             HasDropShadow="false"
             Opened="whenToolTipOpens"
             Closed="whenToolTipCloses"
             >
      <BulletDecorator>
        <BulletDecorator.Bullet>
          <Ellipse Height="10" Width="20" Fill="Blue"/>
        </BulletDecorator.Bullet>
        <TextBlock>Uses the ToolTip Class</TextBlock>
      </BulletDecorator>
    </ToolTip>
  </Ellipse.ToolTip>
</Ellipse>

Vedere anche