Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Un oggetto TextDecoration rappresenta un ornamento visivo che è possibile aggiungere al testo. Sono disponibili quattro tipi di effetti di testo: sottolineato, linea di base, barrato e linea sopra. Nel seguente esempio vengono mostrate le posizioni di tali effetti in relazione al testo.
Esempio dei vari tipi di effetti di testo
.gif)
Per aggiungere un effetto al testo, creare un oggetto TextDecoration e modificarne le proprietà. Utilizzare la proprietà Location per specificare la posizione in cui sarà visualizzato l'effetto di testo, ad esempio la sottolineatura. Utilizzare la proprietà Pen per specificare l'aspetto dell'effetto di testo, ad esempio riempimento a tinta unita o sfumatura di colore. Se non viene specificato alcun valore per la proprietà Pen, gli effetti saranno impostati in modalità predefinita sullo stesso colore del testo. Una volta definito un oggetto TextDecoration, aggiungerlo all'insieme TextDecorations dell'oggetto di testo desiderato.
Nell'esempio riportato di seguito viene mostrato un effetto di testo disegnato con un pennello a sfumatura lineare e una penna tratteggiata.
Esempio di sottolineatura disegnata con un pennello a sfumatura lineare e una penna tratteggiata
.png)
L'oggetto Hyperlink è un elemento del contenuto del flusso di livello inline che consente di ospitare collegamenti ipertestuali all'interno del contenuto del flusso. Per impostazione predefinita, Hyperlink utilizza un oggetto TextDecoration per visualizzare una sottolineatura. Gli oggetti TextDecoration possono richiedere prestazioni elevate per la creazione di un'istanza, in particolare se sono presenti molti oggetti Hyperlink. Se gli elementi Hyperlink, utilizzati sono molti è opportuno visualizzare una sottolineatura solo al momento della generazione di un evento, ad esempio l'evento MouseEnter.
Nell'esempio riportato di seguito, il collegamento "My MSN" presenta una sottolineatura dinamica, vale a dire che la sottolineatura viene visualizzata solo al momento della generazione dell'evento MouseEnter.
Collegamenti ipertestuali definiti con TextDecorations
.png)
Per ulteriori informazioni, vedere Procedura: utilizzare una decorazione di testo con un collegamento ipertestuale.
Esempio
Nel codice seguente, un effetto di testo con sottolineatura utilizza il valore del tipo di carattere predefinito.
// Use the default font values for the strikethrough text decoration.
private void SetDefaultStrikethrough()
{
// Set the underline decoration directly to the text block.
TextBlock1.TextDecorations = TextDecorations.Strikethrough;
}
<!-- Use the default font values for the strikethrough text decoration. -->
<TextBlock
TextDecorations="Strikethrough"
FontSize="36" >
The quick red fox
</TextBlock>
Nel seguente esempio di codice, viene creato un effetto di testo con sottolineatura mediante l'utilizzo di un pennello a tinta unita per la penna.
// Use a Red pen for the underline text decoration.
private void SetRedUnderline()
{
// Create an underline text decoration. Default is underline.
TextDecoration myUnderline = new TextDecoration();
// Create a solid color brush pen for the text decoration.
myUnderline.Pen = new Pen(Brushes.Red, 1);
myUnderline.PenThicknessUnit = TextDecorationUnit.FontRecommended;
// Set the underline decoration to a TextDecorationCollection and add it to the text block.
TextDecorationCollection myCollection = new TextDecorationCollection();
myCollection.Add(myUnderline);
TextBlock2.TextDecorations = myCollection;
}
<!-- Use a Red pen for the underline text decoration -->
<TextBlock
FontSize="36" >
jumped over
<TextBlock.TextDecorations>
<TextDecorationCollection>
<TextDecoration
PenThicknessUnit="FontRecommended">
<TextDecoration.Pen>
<Pen Brush="Red" Thickness="1" />
</TextDecoration.Pen>
</TextDecoration>
</TextDecorationCollection>
</TextBlock.TextDecorations>
</TextBlock>
Nell'esempio di codice seguente, viene creato un effetto di testo con sottolineatura utilizzando un pennello a sfumatura lineare per la penna tratteggiata.
// Use a linear gradient pen for the underline text decoration.
private void SetLinearGradientUnderline()
{
// Create an underline text decoration. Default is underline.
TextDecoration myUnderline = new TextDecoration();
// Create a linear gradient pen for the text decoration.
Pen myPen = new Pen();
myPen.Brush = new LinearGradientBrush(Colors.Yellow, Colors.Red, new Point(0, 0.5), new Point(1, 0.5));
myPen.Brush.Opacity = 0.5;
myPen.Thickness = 1.5;
myPen.DashStyle = DashStyles.Dash;
myUnderline.Pen = myPen;
myUnderline.PenThicknessUnit = TextDecorationUnit.FontRecommended;
// Set the underline decoration to a TextDecorationCollection and add it to the text block.
TextDecorationCollection myCollection = new TextDecorationCollection();
myCollection.Add(myUnderline);
TextBlock3.TextDecorations = myCollection;
}
<!-- Use a linear gradient pen for the underline text decoration. -->
<TextBlock FontSize="36">the lazy brown dog.
<TextBlock.TextDecorations>
<TextDecorationCollection>
<TextDecoration
PenThicknessUnit="FontRecommended">
<TextDecoration.Pen>
<Pen Thickness="1.5">
<Pen.Brush>
<LinearGradientBrush Opacity="0.5"
StartPoint="0,0.5" EndPoint="1,0.5">
<LinearGradientBrush.GradientStops>
<GradientStop Color="Yellow" Offset="0" />
<GradientStop Color="Red" Offset="1" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Pen.Brush>
<Pen.DashStyle>
<DashStyle Dashes="2"/>
</Pen.DashStyle>
</Pen>
</TextDecoration.Pen>
</TextDecoration>
</TextDecorationCollection>
</TextBlock.TextDecorations>
</TextBlock>
Nota
Per un esempio completo dell'utilizzo degli effetti di testo, vedere Esempio TextDecoration.
Vedere anche
Attività
Procedura: utilizzare una decorazione di testo con un collegamento ipertestuale