FrameworkElement.Height 属性

定义

获取或设置 FrameworkElement 的建议高度。

public:
 property double Height { double get(); void set(double value); };
double Height();

void Height(double value);
public double Height { get; set; }
var double = frameworkElement.height;
frameworkElement.height = double;
Public Property Height As Double
<frameworkElement Height="double"/>
-or-
<frameworkElement Height="Auto"/>
 

属性值

Double

double

对象的高度(以像素为单位)。 默认值为 NaN。 除特殊 NaN 值外,此值必须等于或大于 0。

示例

此示例演示 UI 元素的简单属性集,该属性集是在运行时创建的,需要初始化其内容和基本显示属性(如 HeightWidthBackground)。 (Background 实际上是 一个 Control 属性,不是由 FrameworkElement.)

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

注解

HeightFrameworkElement 上指定高度信息的三个可写属性之一。 另外两个是 MinHeightMaxHeight。 如果这些值之间存在冲突,则实际高度确定的应用顺序是,首先 MinHeight 必须遵循 ,然后 MaxHeight是 ,最后,如果它位于边界内, Height则为 。

多个 FrameworkElement 派生类型也派生自 Shape。 并非所有类都 Shape 使用 HeightWidth 来指定其外观,而是使用可能定义一组点的特定属性。 在这种情况下, Height 将计算 或 Width ,但通常不直接设置 。

自定义类可能有类似的注意事项,其中类的属性可能比 Height 指定维度或 宽度更有意义。 HeightWidth 都仍作为成员提供,并且可设置。

设置 或 Width 属性的对象Height几乎始终是另一个父级子集合中的子对象,将 或 Width 设置为Height值只是布局过程的建议值。 布局系统以及父类的特定布局逻辑将在布局过程中使用 值作为非绑定输入,并且可能必须剪裁、调整对象大小、调整容器大小,或者这些行为在布局中跨越多个参与对象的某些组合。 边距和填充也会影响可用大小。 有关详细信息,请参阅对齐、边距和填充

此属性的返回值始终与为其设置的任何值相同。 相反, ActualHeight 属性的值可能会有所不同。 差异可以静态发生,因为布局拒绝了建议的大小,也可以是暂时发生的。 布局系统本身相对于属性系统的 Height 集异步工作,布局系统可能尚未处理大小调整属性更改。

不允许使用 的 Height 负值。

此外,不要将 设置为 Height 明显大于任何可能视觉对象显示的最大大小的值。

“Auto”和 NaN

WidthHeight默认值为“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。

适用于

另请参阅