Panoramica sul controllo ToolTip
Una descrizione comandi è una piccola finestra popup che viene visualizzata quando l'utente posiziona il puntatore del mouse su un elemento, ad esempio Button. In questo argomento viene definita la descrizione comandi e viene descritto come creare e personalizzare il relativo contenuto.
Nel presente argomento sono contenute le seguenti sezioni.
- Definizione di descrizione comandi
- Creazione di una descrizione comandi
- Utilizzo delle proprietà delle classi ToolTip e ToolTipService
- Applicazione di stili a una descrizione comandi
- Utilizzo delle proprietà di ToolTipService relative all'intervallo di tempo
- Argomenti correlati
Definizione di descrizione comandi
Quando un utente sposta il puntatore del mouse su un elemento associato a una descrizione comandi, viene visualizzata una finestra con il relativo contenuto (ad esempio contenuto di testo in cui viene descritta la funzione di un controllo) per un intervallo di tempo specificato. Se l'utente rimuove il puntatore del mouse dal controllo, la finestra scompare perché il contenuto della descrizione comandi non può ricevere lo stato attivo.
Il contenuto di una descrizione comandi può essere costituito da una o più righe di testo, immagini, forme o altro contenuto visivo. Per definire una descrizione comandi per un controllo, impostare una delle proprietà seguenti sul contenuto della descrizione comandi.
La proprietà da utilizzare varia a seconda che il controllo che definisce la descrizione comandi erediti dalla classe FrameworkContentElement o FrameworkElement.
Creazione di una descrizione comandi
Nell'esempio seguente viene illustrato come creare una semplice descrizione comandi 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 comandi come oggetto ToolTip. Nell'esempio seguente viene utilizzato XAML per specificare un oggetto ToolTip come descrizione comandi di un elemento TextBox. Si noti che l'oggetto ToolTip viene specificato 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 codice per generare un oggetto ToolTip. Viene creato un oggetto ToolTip (tt) che viene associato a un oggetto 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)
button = new Button();
button.Content = "Hover over me.";
tt = new ToolTip();
tt.Content = "Created with C#";
button.ToolTip = tt;
cv2.Children.Add(button);
È anche possibile creare contenuto della descrizione comandi non definito come oggetto ToolTip racchiudendo tale contenuto in un elemento di layout, ad esempio DockPanel. Nell'esempio seguente viene illustrato come impostare la proprietà ToolTip di un oggetto 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 comandi impostando proprietà visive e applicando stili. Se il contenuto della descrizione comandi viene definito come oggetto ToolTip, è possibile impostare le proprietà visive dell'oggetto ToolTip. In caso contrario, è necessario impostare proprietà connesse equivalenti sulla classe ToolTipService.
Per un esempio di come impostare le proprietà per specificare la posizione del contenuto della descrizione comandi utilizzando le proprietà ToolTip e ToolTipService, vedere Procedura: posizionare un oggetto ToolTip.
Applicazione di stili a una descrizione comandi
È possibile applicare uno stile a un oggetto ToolTip definendo un oggetto Style personalizzato. Nell'esempio seguente viene definito un oggetto Style denominato Simple che illustra come eseguire l'offset del posizionamento dell'oggetto ToolTip e come modificarne l'aspetto impostando Background, Foreground, FontSize e 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à di ToolTipService relative all'intervallo di tempo
La classe ToolTipService fornisce le proprietà seguenti per impostare i tempi di visualizzazione della descrizione comandi: InitialShowDelay, BetweenShowDelay e ShowDuration.
Utilizzare le proprietà InitialShowDelay e ShowDuration per specificare un ritardo, in genere breve, prima che venga visualizzato un oggetto ToolTip e anche per specificare la durata della visualizzazione di ToolTip. Per ulteriori informazioni, vedere How to: Delay the Display of a ToolTip.
La proprietà BetweenShowDelay determina se le descrizioni comandi di controlli diversi vengono visualizzate senza un ritardo iniziale quando il puntatore del mouse viene spostato rapidamente da uno all'altro. Per ulteriori informazioni sulla proprietà BetweenShowDelay, vedere Procedura: utilizzare la proprietà BetweenShowDelay.
Nell'esempio seguente viene illustrato come impostare queste proprietà per una descrizione comandi.
<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>