情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

FrameworkElement.Height プロパティ

2013/12/12

FrameworkElement の高さの推奨値を取得または設定します。

Namespace:  System.Windows
アセンブリ:  System.Windows (System.Windows.dll 内)
XAML の XMLNS: xmlns にマップされていません。

public double Height { get; set; }
<frameworkElement Height="double"/>
-or-
<frameworkElement Height="Auto"/>

プロパティ値

型: System.Double
要素の高さ (論理ピクセル単位)。既定値は、Double.NaN です。特殊な Double.NaN 値を除いて、この値は 0 以上である必要があります。上限については、「解説」を参照してください。

依存関係プロパティの識別子フィールド:  HeightProperty

Height は、高さ情報を指定する FrameworkElement の 3 つの書き込み可能なプロパティのうちの 1 つです。他の 2 つは、MinHeightMaxHeight です。これらの値の間に競合が発生した場合は、まず MinHeight、次に MaxHeight を適用し、この 2 つが範囲内にあるときは、最後に Height を適用して実際の高さを決定します。

複数の FrameworkElement 派生オブジェクトが、Shape からも派生します。通常は、すべての Shape クラスが Height または Width を使用して外観を指定するわけではなく、代わりに、点のセットを定義する特定のプロパティを使用します。この場合、Height または Width は計算されますが、通常は直接設定されません。

同様に、カスタム クラスでも、大きさを指定する際に HeightWidth よりも重要な意味があるプロパティを持つクラスがあることに注意してください。この場合、望ましい動作が Height または Width の設定を有効にしないことであっても、Height または Width はどちらも引き続きメンバーとして使用でき、設定可能です。クラスのコンシューマーが Height プロパティと Width プロパティを直接設定できないようにシャドウを行う方が重要な場合もあります。

Height プロパティまたは Width プロパティが設定されているオブジェクトが他の親の子コレクション内の子オブジェクトである場合は、Height または Width の値を設定しても、Windows Phone レイアウトの推奨値になるだけです。その値は、レイアウト システムや親のクラスの特定のレイアウト ロジックによって強制力のない入力としてレイアウト プロセスで使用されます。レイアウトの複数のオブジェクトを対象に、オブジェクトのクリップやサイズ変更、コンテナーのサイズ変更、またはこれらの処理の組み合わせが必要になる場合があります。実際問題として、FrameworkElement はほとんど常に他のオブジェクトの子オブジェクトになっています。これは、ページ ルートで Height を設定する場合でも同じです (ページ ルートの場合、その値は、基になるアプリケーション モデルで、アプリケーション内に Windows Phone コンテンツ領域を作成する基本的な描画の前提が確立されるときに使用されます)。

このプロパティの戻り値は、常に設定値と同じです。これに対し、ActualHeight の値は異なる場合があります。推奨サイズがレイアウトによって拒否されたために静的に異なることもあれば、一時的に異なることもあります。レイアウト システムそのものが、プロパティ システムによる Height の設定に対して非同期で動作するため、レイアウト システムが特定のサイズ設定プロパティの変更をまだ処理していない場合があります。

負の Height 値は使用できません。Height に整数以外の値を設定することも技術的には可能ですが、通常は避けるようにしてください。整数以外の値を設定しても、通常は、レイアウトの既定の丸め処理によって丸められます。

検証チェックに加えて、レイアウト システムによって適用される Height には非決定性の上限値があります (これは、Single.MaxValue より大きいが Double.MaxValue より小さい、非常に大きな値です)。この上限値を超えると、オブジェクトは描画されず、例外もスローされません。表示可能な最大サイズを大きく超える値を Height に設定しないでください。この非決定性の上限値を超える可能性があります。

"Auto" レイアウトと Double.NaN

Height および Width の既定値は 0 ではなく、Double.NaN です。Height および Width は、未設定の "Auto" 値を使用する機能をサポートしています。Height および WidthDouble 型の値であるため、Double.NaN はこの "Auto" の動作を表す特殊な値として使用されます。レイアウト システムでは、"Auto" 値は、オブジェクトを特定の論理ピクセル値ではなく、レイアウトで使用可能なサイズに設定するという意味に解釈されます。

レイアウトで使用するときにオブジェクトの "Auto" の動作を使用するには、Height および WidthDouble.NaN 既定値のままにしておきます。以前に値を設定している場合に、"Auto" の動作を再度有効にするには、Height および Width を明確に Double.NaN に設定します。

表示状態テンプレートの場合以外は一般的な方法ではありませんが、XAML で Height 属性および Width 属性が、Double 値ではなく、文字列 Auto になるように、明示的に設定することもできます。XAML での Auto の設定は、TypeConverter の動作ではなく、XAML パーサーの特殊な動作です。

Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示: