Compartilhar via


RenderOptions.ClearTypeHint Propriedade anexada

Definição

Obtém ou define um valor que indica para o mecanismo de renderização se o texto pode ser renderizado com ClearType.

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

Exemplos

O exemplo a seguir mostra como a ClearTypeHint propriedade afeta diferentes ramificações da árvore visual. No primeiro controle de bloco de texto, o texto é renderizado com ClearType porque o bloco de texto herda a configuração da janela principal. No segundo bloco de texto, ClearType não é usado porque a propriedade do OpacityMask elemento pai está definida. No terceiro bloco de texto, ClearTypeHint é usado, mas pode ocorrer problemas de renderização.

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

Comentários

Use a propriedade anexada para indicar que o ClearTypeHint texto pode ser renderizado com ClearType em uma parte específica da árvore visual.

O texto ClearType não é exibido corretamente em um plano de fundo que não é totalmente opaco. Destinos de renderização intermediários, comoEffect, , OpacityMaskVisualBrush, DrawingBrush, Clipe Opacity, podem introduzir planos de fundo que não são totalmente opacos. O WPF desabilita ClearType quando detecta que o buffer no qual o texto é desenhado pode ter uma tela de fundo transparente.

Defina a ClearTypeHint propriedade para Enabled indicar que uma subárvore é segura para renderização de texto ClearType. Faça isso somente quando tiver certeza de que o texto está sendo renderizado em uma tela de fundo totalmente opaca. Quando um elemento na subárvore introduz transparência, você pode habilitar ClearType; no entanto, pode ocorrer problemas de renderização. Se uma parte da subárvore introduzir destinos de renderização mais intermediários, você deverá definir ClearTypeHint novamente os filhos dessa subárvore.

A lista a seguir mostra como garantir que o texto a ser renderizado com ClearType seja exibido corretamente.

  • Não introduza destinos de renderização intermediários entre ClearTypeHint e o texto a ser renderizado com ClearType.

  • Atribua um plano de fundo opaco o mais próximo possível na árvore visual ao texto.

  • Lembre-se de que ClearTypeHint reabilita o ClearType para uma subárvore; no entanto, ele não força a renderização do ClearType.

  • Lembre-se de que ClearTypeHint não substitui as configurações ou TextRenderingMode as configurações do sistema.

Observação

A ClearTypeHint propriedade anexada não afeta o TextBox controle; no entanto, ela funciona com o TextBlock controle.

Observação

Em muitos controles, a ClearTypeHint propriedade anexada não tem efeito, a menos que você defina uma tela de fundo opaca por trás do texto.

Para acessar essa propriedade no código, use os métodos e SetClearTypeHint os GetClearTypeHint métodos.

Aplica-se a