FrameworkElement.Width プロパティ

定義

FrameworkElement の幅を取得または設定します。

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

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

プロパティ値

Double

double

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

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

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

注釈

Width は、幅情報を指定する FrameworkElement の 3 つの書き込み可能なプロパティのうちの 1 つです。 他の 2 つは MinWidthMaxWidth です。 これらの値間に競合がある場合、実際の幅決定の適用順序は、最初の MinWidth を受け入れ、 次に MaxWidth を受け入れ、最後に境界内にある場合は Width を受け入れなければならないということです。

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

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

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

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

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

また、可能なビジュアル表示の最大サイズを大幅に超える値に Width を設定しないでください。

"Auto" と NaN

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

注意

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

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

演算子を使用して == NaN をテストしないでください。

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

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

レイアウト システムでは、"Auto" 値は通常、オブジェクトのサイズを特定のピクセル値ではなく、レイアウトで使用可能なサイズに設定する必要があることを意味します。

適用対象

こちらもご覧ください