Может кто-нибудь помочь мне понять выравнивание растяжки WPF. Я часто сталкиваюсь с проблемами, когда я хочу, чтобы элемент управления заполнял область, но я никогда не понимаю, на каком уровне я должен поместить VerticalAlignment = «Stretch». Особенно при использовании UserControls.WPF выравнивание стрейч
Я всегда решаю проблему, пытаясь разными вещами или растягивая все уровни, но я хотел бы понять, как это сделать правильно.
Давайте рассмотрим пример, я получил в настоящее время:
- У меня есть сетка с фиксированным размером ячейки (который может быть изменен с GridSplitter)
- В этой клетке у меня есть UserControl, содержащую StackPanel с TabControl
- в TabControl у меня есть TabItems, содержащие другой UserControl с ListView
Или в какой-то псевдо XAML
<ns:MyUserControl1 Grid.Row="0" Grid.Column="0">
<!-- this is in MyUserControl1 -->
<StackPanel>
<TabControl>
<TabItem>
<ns:MyUserControl2>
<!-- This is in MyUserControl2 -->
<ListView/>
</ns:MyUserControl2>
</TabItem>
</TabControl>
</StackPanel>
</ns:MyUserControl>
Теперь я хочу, чтобы ListView заполнил всю ячейку сетки (за исключением TabControl и полей, конечно).
Вы правы. После прочтения статьи я понимаю, что мои проблемы часто связаны с StackPanel. Теперь я понимаю, когда использовать DockPanel. – adrianm