Ответ 1
Does Stretch make the grid stretch to accomodate all its content, or to fill its container?
Из MSDN
около HorizontalAlignment="Stretch"
:
Детские элементы растягиваются, чтобы заполнить выделенное место размещения родительского элемента. Явные значения
Width
иHeight
имеют приоритет.
Why is my Grid width NaN?
NaN
означает "не задано". FrameworkElement
является базовым классом для многих элементов управления в WPF, и если вы явно не задаете свойства Height и Width, то в конструкторе класса будет значение по умолчанию NaN
.
When I get WindowContainer.Width during start-up code for the view, it returns NaN
В этом случае попробуйте получить ActualWidth
вместо Width
, потому что:
ActualWidth
Свойство - это рассчитанное значение, основанное на других входах ширины и системе компоновки. Значение устанавливается самой компоновкой, основанной на фактическом проходе рендеринга, и поэтому может немного отставать от установленного значения свойств, таких как ширина, которые являются основой изменения ввода.