Visual クラス

定義

ヒット テスト、座標変換、境界ボックスの計算など、WPFでのレンダリングのサポートを提供します。

public ref class Visual abstract : System::Windows::DependencyObject
public abstract class Visual : System.Windows.DependencyObject
type Visual = class
    inherit DependencyObject
    interface DUCE.IResource
type Visual = class
    inherit DependencyObject
Public MustInherit Class Visual
Inherits DependencyObject
継承
派生

注釈

Visual クラスは、すべての FrameworkElement オブジェクトの派生元となる基本的な抽象化です。 また、WPF で新しいコントロールを記述するためのエントリ ポイントとしても機能し、多くの点で Win32 アプリケーション モデルのウィンドウ ハンドル (HWND) と同等と考えることができます。

Visual オブジェクトは主要な WPF オブジェクトであり、その主な役割はレンダリングのサポートを提供することです。 ButtonTextBoxなどのユーザー インターフェイス コントロールは、Visual クラスから派生し、Visual定義されたプロパティを使用してレンダリング データを保持します。 Visual オブジェクトは、次のサポートを提供します。

  • 出力表示: ビジュアルの永続化されたシリアル化された描画コンテンツをレンダリングします。

  • 変換: ビジュアルに対して変換を実行します。

  • クリッピング: ビジュアルのクリッピング領域をサポートします。

  • ヒット テスト: 指定した座標 (ポイント) またはジオメトリがビジュアルの境界内に含まれているかどうかを判断します。

  • 境界ボックスの計算: ビジュアルの四角形領域を決定します。

アーキテクチャ上、 Visual オブジェクトには、次のようなレンダリングにすぐに関連しない他のアプリケーション開発要件/WPF 機能のサポートは含まれていません。

  • イベント処理

  • レイアウト

  • スタイル

  • データ バインディング

  • Globalization

Visual は、さらにクラスを派生できるパブリック抽象クラスとして提供されます。 次の図は、WPF アーキテクチャで定義されている既存のビジュアル オブジェクトの階層を示しています。

Visual オブジェクトから派生したクラスの図 Visual オブジェクトから ビジュアル クラス階層

場合によっては、 Visual で保護として定義されているメンバーは、派生 UIElement クラス内の類似した名前を持つ、より簡単にアクセスできるメンバーとして公開されます。

詳細については、「WPF グラフィックス レンダリングの概要」を参照してください。

Visualには、レベルの数に制限があります。 以前のバージョンの .NET Framework では、この最大深度は 255 でした。 この制限は、ビジュアル ツリーに多くのレベルがある一部のレイアウトでは不十分です。

.NET Framework 4 では、 Visual の最大深度は 2047 です。これにより、より深いビジュアル ツリーが可能になります。 ほとんどのアプリケーションでは、多くのレベルを走査するのに十分なスタック領域がないため、結果はレイアウト中に StackOverflowException になります。 既定のスタック サイズの場合、この例外は通常、ツリーの深さが約 800 で、入れ子になった TreeViewItem オブジェクトの約 190 に対応する場合にスローされます。

この例外がアプリケーションによってスローされ、より深いビジュアル ツリーが必要な場合は、アプリケーションのスタック サイズを増やすことができます。 コンパイル時に /STACK オプションを使用するか、EDITBIN ユーティリティを使用して、スタックのサイズを増やすことができます。 スタック サイズを大きくすると、アプリケーションのパフォーマンスに影響する可能性があります。 詳細については、「 スタック割り当てEDITBIN オプション」を参照してください。

コンストラクター

名前 説明
Visual()

Visual クラスから派生したオブジェクトの基本初期化を提供します。

プロパティ

名前 説明
DependencyObjectType

このインスタンスの CLR 型をラップする DependencyObjectType を取得します。

(継承元 DependencyObject)
Dispatcher

このDispatcherが関連付けられているDispatcherObjectを取得します。

(継承元 DispatcherObject)
IsSealed

このインスタンスが現在シールされているかどうかを示す値を取得します (読み取り専用)。

(継承元 DependencyObject)
VisualBitmapEffect
古い.
古い.

BitmapEffectVisual値を取得または設定します。

VisualBitmapEffectInput
古い.
古い.

BitmapEffectInputVisual値を取得または設定します。

VisualBitmapScalingMode

BitmapScalingModeVisualを取得または設定します。

VisualCacheMode

Visualのキャッシュされた表現を取得または設定します。

VisualChildrenCount

Visualの子要素の数を取得します。

VisualClearTypeHint

ClearTypeHintでの ClearType のレンダリング方法を決定するVisualを取得または設定します。

VisualClip

Visualのクリップ領域をGeometry値として取得または設定します。

VisualEdgeMode

Visualのエッジ モードをEdgeMode値として取得または設定します。

VisualEffect

Visualに適用するビットマップ効果を取得または設定します。

VisualOffset

ビジュアル オブジェクトのオフセット値を取得または設定します。

VisualOpacity

Visualの不透明度を取得または設定します。

VisualOpacityMask

Brushの不透明度マスクを表すVisual値を取得または設定します。

VisualParent

ビジュアル オブジェクトのビジュアル ツリーの親を取得します。

VisualScrollableAreaClip

Visualのクリップされたスクロール可能領域を取得または設定します。

VisualTextHintingMode

TextHintingModeVisualを取得または設定します。

VisualTextRenderingMode

TextRenderingModeVisualを取得または設定します。

VisualTransform

TransformVisual値を取得または設定します。

VisualXSnappingGuidelines

x 座標 (垂直) ガイドライン コレクションを取得または設定します。

VisualYSnappingGuidelines

y 座標 (水平) ガイドライン コレクションを取得または設定します。

メソッド

名前 説明
AddVisualChild(Visual)

2 つのビジュアル間の親子関係を定義します。

CheckAccess()

呼び出し元のスレッドがこの DispatcherObjectにアクセスできるかどうかを判断します。

(継承元 DispatcherObject)
ClearValue(DependencyProperty)

プロパティのローカル値をクリアします。 クリアするプロパティは、 DependencyProperty 識別子によって指定されます。

(継承元 DependencyObject)
ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値をクリアします。 クリアするプロパティは、 DependencyPropertyKeyによって指定されます。

(継承元 DependencyObject)
CoerceValue(DependencyProperty)

指定した依存関係プロパティの値を強制します。 これは、呼び出し元のCoerceValueCallbackに存在する依存関係プロパティのプロパティ メタデータで指定されたDependencyObject関数を呼び出すことによって実現されます。

(継承元 DependencyObject)
Equals(Object)

指定された DependencyObject が現在の DependencyObjectと等しいかどうかを判断します。

(継承元 DependencyObject)
FindCommonVisualAncestor(DependencyObject)

2 つのビジュアル オブジェクトの共通の先祖を返します。

GetHashCode()

この DependencyObjectのハッシュ コードを取得します。

(継承元 DependencyObject)
GetLocalValueEnumerator()

この DependencyObjectでローカルに値が設定されている依存関係プロパティを決定するための特殊な列挙子を作成します。

(継承元 DependencyObject)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetValue(DependencyProperty)

DependencyObjectのこのインスタンスの依存関係プロパティの現在の有効な値を返します。

(継承元 DependencyObject)
GetVisualChild(Int32)

Visualで指定したVisualCollectionを返します。

HitTestCore(GeometryHitTestParameters)

ジオメトリ値がビジュアル オブジェクトの境界内にあるかどうかを判断します。

HitTestCore(PointHitTestParameters)

ポイント座標値がビジュアル オブジェクトの境界内にあるかどうかを判断します。

InvalidateProperty(DependencyProperty)

指定した依存関係プロパティの有効な値を再評価します。

(継承元 DependencyObject)
IsAncestorOf(DependencyObject)

ビジュアル オブジェクトが子孫ビジュアル オブジェクトの先祖であるかどうかを判断します。

IsDescendantOf(DependencyObject)

ビジュアル オブジェクトが先祖ビジュアル オブジェクトの子孫であるかどうかを判断します。

MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
OnDpiChanged(DpiScale, DpiScale)

このビューがレンダリングされる DPI が変更されたときに呼び出されます。

OnPropertyChanged(DependencyPropertyChangedEventArgs)

この DependencyObject の依存関係プロパティの有効な値が更新されるたびに呼び出されます。 変更された特定の依存関係プロパティは、イベント データで報告されます。

(継承元 DependencyObject)
OnVisualChildrenChanged(DependencyObject, DependencyObject)

ビジュアル オブジェクトの VisualCollection が変更されたときに呼び出されます。

OnVisualParentChanged(DependencyObject)

ビジュアル オブジェクトの親が変更されたときに呼び出されます。

PointFromScreen(Point)

画面座標のPointを、Pointの現在の座標系を表すVisualに変換します。

PointToScreen(Point)

Pointの現在の座標系を表すVisualを画面座標のPointに変換します。

ReadLocalValue(DependencyProperty)

依存関係プロパティが存在する場合は、そのローカル値を返します。

(継承元 DependencyObject)
RemoveVisualChild(Visual)

2 つのビジュアル間の親子関係を削除します。

SetCurrentValue(DependencyProperty, Object)

値ソースを変更せずに依存関係プロパティの値を設定します。

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

依存関係プロパティ識別子で指定された依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
SetValue(DependencyPropertyKey, Object)

依存関係プロパティの DependencyPropertyKey 識別子で指定された、読み取り専用の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

シリアル化プロセスが指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。

(継承元 DependencyObject)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
TransformToAncestor(Visual)

Visualからビジュアル オブジェクトの指定したVisual先祖に座標を変換するために使用できる変換を返します。

TransformToAncestor(Visual3D)

Visualからビジュアル オブジェクトの指定したVisual3D先祖に座標を変換するために使用できる変換を返します。

TransformToDescendant(Visual)

Visualから指定したビジュアル オブジェクトの子孫に座標を変換するために使用できる変換を返します。

TransformToVisual(Visual)

Visualから指定したビジュアル オブジェクトに座標を変換するために使用できる変換を返します。

VerifyAccess()

呼び出し元のスレッドがこの DispatcherObjectにアクセスできるように強制します。

(継承元 DispatcherObject)

適用対象

こちらもご覧ください