FrameworkElement.Height プロパティ

定義

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

public:
 property double Height { double get(); void set(double value); };
double Height();

void Height(double value);
public double Height { get; set; }
var double = frameworkElement.height;
frameworkElement.height = double;
Public Property Height As Double
<frameworkElement Height="double"/>
-or-
<frameworkElement Height="Auto"/>
 

プロパティ値

Double

double

オブジェクトの高さ (ピクセル単位)。 既定値は NaN です。 特別な NaN 値を除き、この値は 0 以上である必要があります。

この例では、実行時に作成され、そのコンテンツの初期化と、 HeightWidthBackground などの基本的な表示プロパティが必要な UI 要素の単純なプロパティ セットを示します。 (背景は実際には、FrameworkElement によって定義されていない Control プロパティです)。

Button button2 = new Button();
button2.Height = 50;
button2.Width = 100;
button2.Background = new SolidColorBrush(Colors.Blue);
button2.Content = "Click Me";

注釈

Height は、高さ情報を指定する FrameworkElement の 3 つの書き込み可能なプロパティの 1 つです。 他の 2 つは MinHeightMaxHeight です。 これらの値の間に競合がある場合、実際の高さ決定の適用順序は、最初の MinHeight を受け入れ、次に MaxHeightし、最後に境界内にある場合は Height

いくつかの FrameworkElement 派生型も Shape から派生しています。 すべての Shape クラスが Height または Width を使用して外観を指定するわけではありません。代わりに、ポイントのセットを定義する可能性のある特定のプロパティを使用します。 この場合、 Height または Width が計算されますが、通常は直接設定されません。

カスタム クラスにも同様の考慮事項があります。クラスには、 HeightWidth よりもディメンションを指定する場合に意味のあるプロパティがある場合があります。 Height または Width は両方ともメンバーとして使用でき、設定可能です。

Heightプロパティまたは Width プロパティが設定されているオブジェクトは、ほとんどの場合、別の親の子コレクション内の子オブジェクトであり、HeightまたはWidthを値に設定することは、レイアウト プロセスで推奨される値にすぎません。 レイアウト システムと親のクラスの特定のレイアウト ロジックは、レイアウト プロセス中にバインドされていない入力として値を使用します。また、レイアウト内の複数の参加オブジェクトにまたがる、オブジェクトのクリップ、サイズ変更、コンテナーのサイズ変更、またはこれらの動作の組み合わせが必要になる場合があります。 余白とパディングは、使用可能なサイズにも影響します。 詳細については、「 配置、余白、パディング」を参照してください。

このプロパティの戻り値は、常に設定された任意の値と同じです。 これに対し、 ActualHeight プロパティの値は異なる場合があります。 レイアウトが推奨サイズを拒否したため、または一時的に分散が静的に発生する可能性があります。 レイアウト システム自体は、プロパティ システムの Height のセットに対して非同期的に動作します。レイアウト システムでは、そのサイズ設定プロパティの変更がまだ処理されていない可能性があります。

Heightの負の値は使用できません。

また、 Height を、表示可能なビジュアル表示の最大サイズよりも大幅に大きい値に設定しないでください。

"Auto" と NaN

HeightWidth の既定値は "Auto" で、NaN で表されます。 XAML マークアップでは、文字列 "Auto" を使用して値を NaN に設定できます。

Note

C# では、 Double.NaN から NaN を取得できます。

C++ では、NAN マクロまたはstd::numeric_limits<double>::quiet_NaN()を使用して NaN を取得できます。

NaN のテストには、 == 演算子を使用しないでください。

C# では、 Double.IsNaN() を使用して NaN をテストします。

C++ では、 isnan() を使用して NaN をテストします。

適用対象

こちらもご覧ください