RenderOptions.ClearTypeHint Присоединенное свойство

Определение

Получает или задает значение, указывающее механизму отрисовки, возможно ли отображать текст с помощью ClearType.Gets or sets a value that indicates to the rendering engine whether text can be rendered with ClearType.

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

Примеры

В следующем примере показано, ClearTypeHint как свойство влияет на различные ветви визуального дерева.The following example shows how the ClearTypeHint property affects different branches of the visual tree. В первом элементе управления Text Block текст отображается с помощью технологии ClearType, поскольку текстовый блок наследует параметр из главного окна.In the first text block control, text is rendered with ClearType because the text block inherits the setting from the main window. Во втором текстовом блоке технология ClearType не используется, так как OpacityMask свойство родительского элемента задано.In the second text block, ClearType is not used because the parent element's OpacityMask property is set. В третьем блоке ClearTypeHint текста используется, но могут возникнуть проблемы с отрисовкой.In the third text block, ClearTypeHint is used, but rendering issues may occur.

<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 в определенной части визуального дерева.Use the ClearTypeHint attached property to indicate that text can be rendered with ClearType in a specific part of the visual tree.

Текст ClearType неправильно отображается в фоновом режиме, который не является полностью непрозрачным.ClearType text does not display correctly on a background that is not fully opaque. Промежуточные целевые объекты отрисовки OpacityMask, такие DrawingBrushкак Clip Effect VisualBrush,, Opacity,, и, могут отображать фоновые рисунки, которые не являются полностью непрозрачными.Intermediate render targets, such as Effect, OpacityMask, VisualBrush, DrawingBrush, Clip, and Opacity, can introduce backgrounds that are not fully opaque. WPF отключает ClearType при обнаружении того, что буфер, в котором отображается текст, может иметь прозрачный фон.WPF disables ClearType when it detects that the buffer into which text is drawn could have a transparent background.

Задайте для ClearTypeHint Enabled свойства значение, чтобы указать, что поддерево является надежным для визуализации текста ClearType.Set the ClearTypeHint property to Enabled to indicate that a subtree is safe for ClearType text rendering. Сделайте это только в том случае, если вы можете убедиться, что текст отображается в полностью непрозрачном фоне.Do this only when you can be certain that the text is rendering to a fully opaque background. Если элемент в поддереве содержит сведения о прозрачности, можно включить ClearType; Однако могут возникнуть проблемы с отрисовкой.When an element in the subtree introduces transparency, you can enable ClearType; however, rendering issues may occur. Если часть поддерева содержит более промежуточные целевые объекты отрисовки, необходимо задать ClearTypeHint еще раз для дочерних элементов этого поддерева.If a portion of the subtree introduces more intermediate rendering targets, you must set ClearTypeHint again on the children of that subtree.

В следующем списке показано, как убедиться, что текст, отображаемый с помощью ClearType, отображается правильно.The following list shows how to make sure that text to be rendered with ClearType appears correctly.

  • Не выводятся промежуточные целевые объекты отрисовки между ClearTypeHint и текст, который должен быть визуализирован с помощью технологии ClearType.Do not introduce intermediate render targets between ClearTypeHint and the text to be rendered with ClearType.

  • Присвоить тексту непрозрачный фон, как можно ближе к визуальному дереву.Assign an opaque background that is as close as possible in the visual tree to the text.

  • Имейте в виду ClearTypeHint , что повторное включение ClearType для поддерева, однако, не приводит к принудительной визуализации ClearType.Be aware that ClearTypeHint re-enables ClearType for a subtree; however, it does not force ClearType rendering.

  • Имейте в виду ClearTypeHint , что не переопределяет системные параметры TextRenderingMode или параметры.Be aware that ClearTypeHint does not override your system settings or TextRenderingMode settings.

Примечание

Присоединенное свойство не TextBox влияет на элемент управления, однако TextBlock оно работает с элементом управления. ClearTypeHintThe ClearTypeHint attached property does not affect the TextBox control; however, it does work with the TextBlock control.

Примечание

Во многих элементах управления ClearTypeHint присоединенное свойство не действует, если не задан непрозрачный фон за текстом.On many controls, the ClearTypeHint attached property has no effect unless you set an opaque background behind the text.

Чтобы получить доступ к этому свойству в коде GetClearTypeHint , SetClearTypeHint используйте методы и.To access this property in code, use the GetClearTypeHint and SetClearTypeHint methods.

Применяется к