信息
您所需的主题如下所示。但此主题未包含在此库中。

FrameworkElement.Width 属性

2013/12/13

获取或设置 FrameworkElement 的宽度。

Namespace:  System.Windows
程序集:  System.Windows(位于 System.Windows.dll 中)
XMLNS for XAML: 未映射到 xmlns。

public double Width { get; set; }
<frameworkElement Width="double"/>
-or-
<frameworkElement Width="Auto"/>

属性值

类型: System.Double
元素的宽度(以逻辑像素为单位)。 默认值为 Double.NaN。 除了特殊的 Double.NaN 值,此值必须等于或大于 0。请参见“备注”了解上限信息。

依赖项属性标识符字段: WidthProperty

一些 FrameworkElement 派生类也从 Shape 派生。 并非所有 Shape 类通常都使用 HeightWidth 来指定其外观,也可能使用可以定义点集的特定属性。 在这种情况下,计算 HeightWidth,但通常不直接设置。

自定义类可能也有类似的注意事项,即类可能具有比 HeightWidth 更有意义的用于指定维度的属性。 在这种情况下,HeightWidth 仍将作为成员提供,同时也可以设置,即便所需的行为可能是不启用 HeightWidth 设置。 关键情况下,可能值得隐藏 HeightWidth 属性,这样可以防止类的使用者直接设置它们。

TextBlock 是一个容器对象的示例,其中显示容器中的文本。 该文本的大小可能会影响呈现的 TextBlock 的大小,所以 TextBlock 可能不接受指定的 HeightWidth。 对于 TextBlock 之类的容器对象,应该检查公开该计算大小的两个附加属性:ActualHeightActualWidth

不允许 Width 的值为负。 从技术上讲,允许 Width 的值不是整数。 如果在 XAML 或代码中设置了非整数值,这些值将按原样保留;但通常应避免这种情况,并且一般通过默认的布局舍入行为来舍入这些值。 请参见。

除验证检查之外,Width 还有一个非确定的上限值(这是一个较大的数字,大于 Single.MaxValue 但小于 Double.MaxValue)。 不要将 Width 设置为一个远远大于任何可能的视觉显示的最大大小,否则有可能超出此非确定性上限。

“自动”布局和 Double.NaN

HeightWidth 的默认值不是 0;它是 Double.NaNHeightWidth 支持成为未设置的“Auto”值的功能。 由于 HeightWidth 是双精度值,Double.NaN 用作一个表示此“自动”行为的特殊值。 布局系统通常将“自动”值解释为:应该将该对象的大小调整为布局中可用的大小,而不是特定的逻辑像素值。

在布局中使用某个对象时如果需要该对象的“自动”行为,不应设置 HeightWidth,应保持它们的 Double.NaN 默认值。 如果先前已设置值并希望重新启用“自动”行为,请明确地将 HeightWidth 设置为 Double.NaN

尽管不是常见做法(可能在可视状态模板中除外),您还可以在 XAML 中将 HeightWidth 属性显式设置为字符串 Auto,而非 double 值。 在 XAML 中设置 Auto 是 XAML 分析器的特殊行为,而不是 TypeConverter 行为。

Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示: