語言

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。

範例

此範例展示了一個簡單的 UI 元素屬性集合,該元素在執行時建立,需要初始化其內容及基本顯示屬性,如高度、Width背景。 (背景 其實是 控制 屬性,並非由 FrameworkElement 定義。)

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

備註

Width 是 FrameworkElement 上三個可寫屬性之一,指定寬度資訊。 另外兩個是 最小寬度(MinWidth )和 最大寬度(MaxWidth)。 若這些值存在衝突,實際寬度判定的應用順序為:首先 MinWidth 必須遵守,接 MaxWidth著,最後若在範圍內,則為 Width。

FrameworkElement 衍生的多種類型也源自 Shape。 並非所有 Shape 類別都使用 Height 或 Width 指定外觀,而是使用特定的屬性來定義一組點。 此時會計算 a Height 或 Width ,但通常不會直接設定。

自訂類別可能有類似考量,類別的屬性比高度或 更適合指定尺寸。Width Height 或者 Width 兩者都仍可作為成員使用且可設定。

設定 Height 或 Width 屬性的物件幾乎總是另一個父子集合中的子物件,而 set Height 或 Width 到 的值只是版面設計過程中建議的值。 layout 系統以及父類別的特定 layout 邏輯會在 layout 過程中將該值作為非綁定輸入使用,可能需要裁剪、調整物件大小、調整容器大小,或是這些行為的組合,跨越多個參與物件。 邊距和填充也會影響可用尺寸。 如需詳細資訊,請參閱 對齊、邊界和邊框間距。

這個屬性的回傳值總是與設定為該屬性的任何值相同。 相較之下, 實際寬度 屬性的價值可能會有所不同。 變異可以是靜態發生,因為版面拒絕了建議的大小,或是暫時發生。 版面系統本身相對於屬性系統的集合 Width是非同步運作的,而版面系統可能尚未處理該大小屬性的變更。

不允許為負值 Width 。

此外,不要設定 Width 一個明顯大於任何可能視覺顯示最大大小的值。

「Auto」與 NaN

Height 和 Width 的預設值為「自動」,以 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。

適用於

另請參閱