RenderOptions.ClearTypeHint Присоединенное свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает значение, указывающее механизму отрисовки, возможно ли отображать текст с помощью ClearType.
see GetClearTypeHint, and SetClearTypeHint
see GetClearTypeHint, and SetClearTypeHint
see GetClearTypeHint, and SetClearTypeHint
Примеры
В следующем примере показано, как свойство влияет на ClearTypeHint различные ветви визуального дерева. В первом элементе управления блоком текста текст отрисовывается с помощью ClearType, так как блок текста наследует параметр из главного окна. Во втором текстовом блоке ClearType не используется, так как задано свойство родительского OpacityMask элемента. В третьем текстовом блоке используется , ClearTypeHint но могут возникнуть проблемы с отрисовкой.
<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>
Комментарии
Используйте присоединенное ClearTypeHint свойство, чтобы указать, что текст может быть отрисован с помощью ClearType в определенной части визуального дерева.
Текст ClearType неправильно отображается на фоне, который не является полностью непрозрачным. Промежуточные целевые объекты отрисовки, такие как Effect, OpacityMaskVisualBrush, , ClipDrawingBrush, и Opacity, могут содержать фоны, которые не являются полностью непрозрачными. WPF отключает ClearType, когда обнаруживает, что буфер, в который нарисован текст, может иметь прозрачный фон.
Присвойте свойству ClearTypeHint значение , Enabled чтобы указать, что поддеревь безопасно для отрисовки текста ClearType. Это можно сделать только в том случае, если вы можете быть уверены, что текст отображается на полностью непрозрачном фоне. Если элемент в поддереве предоставляет прозрачность, можно включить ClearType; однако могут возникнуть проблемы с отрисовкой. Если часть поддеревья содержит более промежуточные целевые объекты отрисовки, необходимо снова задать для ClearTypeHint дочерних элементов этого поддеревого.
В следующем списке показано, как убедиться, что текст, отображаемый с помощью ClearType, отображается правильно.
Не вводите промежуточные целевые объекты отрисовки между ClearTypeHint и текстом для отрисовки с помощью ClearType.
Назначьте тексту непрозрачный фон, который находится как можно ближе к тексту в визуальном дереве.
Имейте в виду, что ClearTypeHint повторно включает ClearType для поддеревого, но не принудительное отображение ClearType.
Имейте в виду, что ClearTypeHint не переопределяет параметры системы или TextRenderingMode параметры.
Примечание
Присоединенное ClearTypeHint свойство не влияет на TextBox элемент управления, однако оно работает с элементом TextBlock управления .
Примечание
На многих элементах управления присоединенное ClearTypeHint свойство не действует, если не задать непрозрачный фон за текстом.
Для доступа к этому свойству в коде используйте методы GetClearTypeHint и SetClearTypeHint .