Visual クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 類似した名前を持つ、より簡単にアクセスできるメンバーとして公開されます UIElement 。
詳しくは、「WPF グラフィックス レンダリングの概要」をご覧ください。
A Visual には、レベルの数が限られています。 以前のバージョンの.NET Frameworkでは、この最大深度は 255 でした。 この制限は、ビジュアル ツリーに多くのレベルを持つ一部のレイアウトでは不十分です。
.NET Framework 4 では、a Visual の最大深度は 2047 で、より深いビジュアル ツリーが可能になります。 ほとんどのアプリケーションでは、非常に多くのレベルを通過するのに十分なスタック領域がないため、レイアウト中になります StackOverflowException 。 既定のスタック サイズでは、通常、ツリーの深さが約 800 で、入れ子になったオブジェクトが約 190 個に相当する場合に、この例外がスローされます TreeViewItem 。
この例外がアプリケーションによってスローされ、より深いビジュアル ツリーが必要な場合は、アプリケーションのスタック サイズを増やすことができます。 コンパイル時に /STACK オプションを使用するか、EDITBIN ユーティリティを使用して、スタックのサイズを増やすことができます。 スタック サイズを大きくすると、アプリケーションのパフォーマンスに影響する可能性があります。 詳細については、「 スタック割り当て と EDITBIN オプション」を参照してください。
コンストラクター
Visual() |
Visual クラスから派生したオブジェクトの基本の初期化を行います。 |