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 機能のサポートは含まれません。

  • イベント処理

  • レイアウト

  • スタイル

  • データ バインディング

  • グローバリゼーション

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

Visual オブジェクトから派生したクラスのダイアグラム
Visual クラスの階層構造

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

詳しくは、「WPF グラフィックス レンダリングの概要」をご覧ください。

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

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

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

コンストラクター

Visual()

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

プロパティ

DependencyObjectType

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

(継承元 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

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

VisualTextRenderingMode

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

VisualTransform

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

VisualXSnappingGuidelines

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

VisualYSnappingGuidelines

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

メソッド

AddVisualChild(Visual)

2 つのビジュアル間の親子リレーションシップを定義します。

CheckAccess()

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

(継承元 DispatcherObject)
ClearValue(DependencyProperty)

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

(継承元 DependencyObject)
ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値を消去します。 消去するプロパティは、DependencyPropertyKey で指定します。

(継承元 DependencyObject)
CoerceValue(DependencyProperty)

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

(継承元 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)

適用対象

こちらもご覧ください