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 以上である必要があります。

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

Button button2 = 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 が計算されますが、通常は直接設定されません。

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

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

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

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

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

"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 をテストします。

適用対象

こちらもご覧ください