次の方法で共有


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 要素の単純なプロパティ セットを示します。 (Background は実際には Control プロパティであり、 FrameworkElement によって定義されていません)。

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

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

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

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

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

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

"Auto" と NaN

既定値は Height で、WidthNaN で表される "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 をテストします。

適用対象

こちらもご覧ください