RenderOptions.ClearTypeHint Propriedade Anexada
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Recebe ou define um valor que indica ao motor 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 seguinte mostra como a ClearTypeHint propriedade afeta diferentes ramos da árvore visual. No primeiro controlo de bloco de texto, o texto é renderizado com ClearType porque o bloco de texto herda a definição da janela principal. No segundo bloco de texto, o ClearType não é usado porque a propriedade do OpacityMask elemento pai está definida. No terceiro bloco de texto, ClearTypeHint é utilizado, mas podem surgir 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>
Observações
Use a ClearTypeHint propriedade anexada para indicar que o texto pode ser renderizado com ClearType numa parte específica da árvore visual.
O texto ClearType não é exibido corretamente num fundo que não é totalmente opaco. Alvos de renderização intermédios, como Effect, OpacityMask, VisualBrush, DrawingBrush, Clip, e Opacity, podem introduzir fundos que não são totalmente opacos. O WPF desativa o ClearType quando deteta que o buffer para onde o texto é desenhado pode ter um fundo transparente.
Defina a ClearTypeHint propriedade para Enabled indicar que uma subárvore é segura para a renderização de texto ClearType. Faz isto apenas quando conseguires ter a certeza de que o texto está a renderizar para um fundo totalmente opaco. Quando um elemento na subárvore introduz transparência, pode ativar o ClearType; no entanto, podem ocorrer problemas de renderização. Se uma parte da subárvore introduzir mais alvos de renderização intermédios, deve definir ClearTypeHint novamente nos filhos dessa subárvore.
A lista seguinte mostra como garantir que o texto a ser renderizado com ClearType aparece corretamente.
Não introduza alvos intermédios de renderização entre ClearTypeHint e o texto a ser renderizado com ClearType.
Atribui um fundo opaco que seja o mais próximo possível na árvore visual do texto.
Tenha em atenção que ClearTypeHint reativa o ClearType para uma subárvore; no entanto, não força a renderização do ClearType.
Tenha em atenção que isso ClearTypeHint não sobrepõe as definições TextRenderingMode ou definições do seu sistema.
Note
A ClearTypeHint propriedade anexada não afeta o TextBox controlo; no entanto, funciona com o TextBlock controlo.
Note
Em muitos controlos, a ClearTypeHint propriedade anexada não tem efeito a menos que definas um fundo opaco atrás do texto.
Para aceder a esta propriedade no código, use os GetClearTypeHint métodos e SetClearTypeHint .