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 元素的简单属性集,需要初始化其内容和基本显示属性(如 Height、 Width
和 Background)。 (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 上指定宽度信息的三个可写属性之一。 另外两个是 MinWidth 和 MaxWidth。 如果这些值之间存在冲突,则实际宽度确定的应用顺序是,首先 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
默认值为“Auto”,由 NaN 表示。 在 XAML 标记中,可以使用字符串“Auto”将值设置为 NaN。
注意
在 C# 中,可以从 Double.NaN 获取 NaN。
在 C++ 中,可以使用 宏或 std::numeric_limits<double>::quiet_NaN()
获取 NaNNAN
。
请勿使用 ==
运算符来测试 NaN。
在 C# 中,使用 Double.IsNaN () 测试 NaN。
在 C++ 中,使用 isnan () 测试 NaN。