RenderOptions.ClearTypeHint Propriedade anexada
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.