Comparteix a través de


RenderOptions.ClearTypeHint Propiedad adjunta

Definición

Obtiene o establece un valor que indica al motor de representación si el texto puede presentarse con ClearType.

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

Ejemplos

En el ejemplo siguiente se muestra cómo afecta la ClearTypeHint propiedad a diferentes ramas del árbol visual. En el primer control de bloque de texto, el texto se representa con ClearType porque el bloque de texto hereda la configuración de la ventana principal. En el segundo bloque de texto, ClearType no se usa porque se establece la propiedad del OpacityMask elemento primario. En el tercer bloque de texto, ClearTypeHint se usa , pero pueden producirse problemas de representación.

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

Comentarios

Use la ClearTypeHint propiedad adjunta para indicar que el texto se puede representar con ClearType en una parte específica del árbol visual.

El texto ClearType no se muestra correctamente en un fondo que no es totalmente opaco. Los destinos de representación intermedios, como Effect, OpacityMask, ClipVisualBrushDrawingBrush, , y Opacity, pueden introducir fondos que no son totalmente opacos. WPF deshabilita ClearType cuando detecta que el búfer en el que se dibuja texto podría tener un fondo transparente.

Establezca la ClearTypeHint propiedad Enabled en para indicar que un subárbol es seguro para la representación de texto ClearType. Haga esto solo cuando pueda estar seguro de que el texto se representa en un fondo totalmente opaco. Cuando un elemento del subárbol introduce transparencia, puede habilitar ClearType; sin embargo, pueden producirse problemas de representación. Si una parte del subárbol introduce más destinos de representación intermedios, debe volver a establecer ClearTypeHint en los elementos secundarios de ese subárbol.

En la lista siguiente se muestra cómo asegurarse de que el texto que se va a representar con ClearType aparece correctamente.

  • No introduzca destinos de representación intermedios entre ClearTypeHint y el texto que se va a representar con ClearType.

  • Asigne un fondo opaco lo más cercano posible en el árbol visual al texto.

  • Tenga en cuenta que ClearTypeHint vuelve a habilitar ClearType para un subárbol; sin embargo, no fuerza la representación de ClearType.

  • Tenga en cuenta que ClearTypeHint no invalida la configuración o TextRenderingMode la configuración del sistema.

Nota

La ClearTypeHint propiedad adjunta no afecta al TextBox control; sin embargo, funciona con el TextBlock control .

Nota

En muchos controles, la ClearTypeHint propiedad adjunta no tiene ningún efecto a menos que establezca un fondo opaco detrás del texto.

Para acceder a esta propiedad en el código, use los GetClearTypeHint métodos y SetClearTypeHint .

Se aplica a