Поделиться через


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.

Примеры

В этом примере показан простой набор свойств элемента пользовательского интерфейса, который создается во время выполнения и требует инициализации его содержимого и базовых свойств отображения, таких как Height, Widthи 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# вы можете получить NaN из Double.NaN.

В C++ вы можете получить NaN с помощью макросаNAN или std::numeric_limits<double>::quiet_NaN().

Не используйте оператор для == проверки на наличие NaN.

В C# используйте Double.IsNaN() для тестирования naN.

В C++ используйте isnan() для тестирования naN.

Применяется к

См. также раздел