次の方法で共有


RenderOptions.ClearTypeHint 添付プロパティ

定義

テキストを ClearType で描画できるかどうかをレンダリング エンジンに示す値を取得または設定します。

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

次の例は、 プロパティが ClearTypeHint ビジュアル ツリーのさまざまな分岐にどのように影響するかを示しています。 最初のテキスト ブロック コントロールでは、テキスト ブロックがメイン ウィンドウから設定を継承するため、テキストは ClearType でレンダリングされます。 2 番目のテキスト ブロックでは、親要素の OpacityMask プロパティが設定されているため、ClearType は使用されません。 3 番目のテキスト ブロックでは が 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 テキストは、完全に不透明ではない背景に正しく表示されません。 、 などのEffectOpacityOpacityMaskVisualBrushDrawingBrushClip中間レンダー ターゲットでは、完全に不透明ではない背景が導入される可能性があります。 WPF では、テキストの描画先のバッファーに透明な背景が含まれている可能性があることを検出すると、ClearType が無効になります。

サブツリーが ClearTypeHint ClearType テキスト レンダリングに安全であることを示すには、 プロパティを に Enabled 設定します。 これは、テキストが完全に不透明な背景にレンダリングされていることを確認できる場合にのみ行います。 サブツリー内の要素で透過性が導入された場合は、ClearType を有効にすることができます。ただし、レンダリングの問題が発生する可能性があります。 サブツリーの一部により多くの中間レンダリング ターゲットが導入される場合は、そのサブツリーの子にもう一度を設定 ClearTypeHint する必要があります。

次の一覧は、ClearType でレンダリングされるテキストが正しく表示されるようにする方法を示しています。

  • と ClearType でレンダリングされるテキストの間 ClearTypeHint に中間レンダー ターゲットを導入しないでください。

  • ビジュアル ツリー内で可能な限り近い不透明な背景をテキストに割り当てます。

  • ClearTypeHintただし、サブツリーに対して ClearType を再度有効にしても、ClearType レンダリングは強制されません。

  • システムの設定やTextRenderingMode設定はオーバーライドされないことに注意ClearTypeHintしてください。

注意

添付プロパティは ClearTypeHint コントロールには TextBox 影響しませんが、コントロールでは TextBlock 機能します。

注意

多くのコントロールでは、テキストの背後に ClearTypeHint 不透明な背景を設定しない限り、添付プロパティは効果がありません。

コードでこのプロパティにアクセスするには、 メソッドと SetClearTypeHint メソッドをGetClearTypeHint使用します。

適用対象