RenderOptions.ClearTypeHint Proprietà associata

Definizione

Ottiene o imposta un valore che indica al motore di rendering se è possibile eseguire il rendering del testo con ClearType.Gets or sets a value that indicates to the rendering engine whether text can be rendered with ClearType.

see GetClearTypeHint, and SetClearTypeHint
see GetClearTypeHint, and SetClearTypeHint
see GetClearTypeHint, and SetClearTypeHint

Esempi

Nell'esempio seguente viene illustrato il modo in cui la proprietà ClearTypeHint ha effetto sui diversi rami della struttura ad albero visuale.The following example shows how the ClearTypeHint property affects different branches of the visual tree. Nel primo controllo blocco di testo viene eseguito il rendering del testo con ClearType perché il blocco di testo eredita l'impostazione dalla finestra principale.In the first text block control, text is rendered with ClearType because the text block inherits the setting from the main window. Nel secondo blocco di testo non viene utilizzato ClearType perché è impostata la proprietà OpacityMask dell'elemento padre.In the second text block, ClearType is not used because the parent element's OpacityMask property is set. Nel terzo blocco di testo viene usato ClearTypeHint, ma possono verificarsi problemi di rendering.In the third text block, ClearTypeHint is used, but rendering issues may occur.

<Window x:Class="ClearTypeHintDemo.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300"
        AllowsTransparency="True" 
        WindowStyle="None" 
        RenderOptions.ClearTypeHint="Enabled" 
        Background="White">
    <Window.Resources>
        <LinearGradientBrush x:Key="opacityBrush" >
            <GradientStop Color="#FF000000" Offset="0.0" />
            <GradientStop Color="#00000000" Offset="1.0" />
        </LinearGradientBrush>
    </Window.Resources>

    <StackPanel>
        <TextBlock Text="This text is rendered with ClearType." />
        <StackPanel OpacityMask="{StaticResource opacityBrush}" >
            <TextBlock Text="This text is not rendered with ClearType." />
            <TextBlock RenderOptions.ClearTypeHint="Enabled" 
                       Text="This text is rendered with ClearType but may alpha-blend incorrectly." />
        </StackPanel>
    </StackPanel>
</Window>  

Commenti

Utilizzare la proprietà associata ClearTypeHint per indicare che è possibile eseguire il rendering del testo con ClearType in una parte specifica della struttura ad albero visuale.Use the ClearTypeHint attached property to indicate that text can be rendered with ClearType in a specific part of the visual tree.

Il testo ClearType non viene visualizzato correttamente su uno sfondo non completamente opaco.ClearType text does not display correctly on a background that is not fully opaque. Le destinazioni di rendering intermedie, ad esempio Effect, OpacityMask, VisualBrush, DrawingBrush, Clipe Opacity, possono presentare sfondi che non sono completamente opachi.Intermediate render targets, such as Effect, OpacityMask, VisualBrush, DrawingBrush, Clip, and Opacity, can introduce backgrounds that are not fully opaque. WPF disabilita ClearType quando rileva che il buffer in cui viene disegnato il testo potrebbe avere uno sfondo trasparente.WPF disables ClearType when it detects that the buffer into which text is drawn could have a transparent background.

Impostare la proprietà ClearTypeHint su Enabled per indicare che un sottoalbero è sicuro per il rendering del testo ClearType.Set the ClearTypeHint property to Enabled to indicate that a subtree is safe for ClearType text rendering. Eseguire questa operazione solo quando è possibile essere certi che il testo venga sottoposto a rendering in uno sfondo completamente opaco.Do this only when you can be certain that the text is rendering to a fully opaque background. Quando un elemento nel sottoalbero introduce la trasparenza, è possibile abilitare ClearType; è tuttavia possibile che si verifichino problemi di rendering.When an element in the subtree introduces transparency, you can enable ClearType; however, rendering issues may occur. Se una parte del sottoalbero introduce più destinazioni di rendering intermedie, è necessario impostare di nuovo ClearTypeHint negli elementi figlio di tale sottoalbero.If a portion of the subtree introduces more intermediate rendering targets, you must set ClearTypeHint again on the children of that subtree.

Nell'elenco seguente viene illustrato come verificare che il testo di cui eseguire il rendering con ClearType venga visualizzato correttamente.The following list shows how to make sure that text to be rendered with ClearType appears correctly.

  • Non introduce destinazioni di rendering intermedie tra ClearTypeHint e il testo di cui eseguire il rendering con ClearType.Do not introduce intermediate render targets between ClearTypeHint and the text to be rendered with ClearType.

  • Assegnare al testo uno sfondo opaco più vicino possibile alla struttura ad albero visuale.Assign an opaque background that is as close as possible in the visual tree to the text.

  • Tenere presente che ClearTypeHint Abilita di nuovo ClearType per un sottoalbero; Tuttavia, non impone il rendering ClearType.Be aware that ClearTypeHint re-enables ClearType for a subtree; however, it does not force ClearType rendering.

  • Tenere presente che ClearTypeHint non sostituisce le impostazioni di sistema o TextRenderingMode impostazioni.Be aware that ClearTypeHint does not override your system settings or TextRenderingMode settings.

Nota

Il ClearTypeHint proprietà associata non influisce sul controllo TextBox; Tuttavia, funziona con il controllo TextBlock.The ClearTypeHint attached property does not affect the TextBox control; however, it does work with the TextBlock control.

Nota

In molti controlli, la ClearTypeHint proprietà associata non ha alcun effetto a meno che non si imposti uno sfondo opaco dietro il testo.On many controls, the ClearTypeHint attached property has no effect unless you set an opaque background behind the text.

Per accedere a questa proprietà nel codice, usare i metodi GetClearTypeHint e SetClearTypeHint.To access this property in code, use the GetClearTypeHint and SetClearTypeHint methods.

Si applica a