FrameworkElement.Width 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定 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
物體的寬度,以像素為單位。 預設是 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。