У меня есть ItemsControl со следующим ItemTemplate:Как установить Высота элементов в XAML, чтобы они всегда занимали одну и ту же долю доступного пространства в родительских элементах ItemsControl?
<DataTemplate x:Key="myItemTemplate">
<TextBlock Height="???" Text="{Binding Path=Description}" />
</DataTemplate>
Моим вопрос, как я могу установить высоту TextBlock в шаблоне так, чтобы он автоматически принимает на себя ItemsControl.Height div ItemsCount
количество вертикального пространства?
Если есть только один элемент, я бы хотел, чтобы это была полная высота контейнера, когда их было два, каждый должен быть в два раза меньше и так далее.
Если возможно, я бы предпочел сделать это полностью в XAML, чтобы моя ViewModel была чистой логикой пользовательского интерфейса.
На самом деле, это проще. UniformGrid автоматически позаботится о счете Row, если вы установите Columns = «1». И вам нужно использовать ItemsControl.ItemsPanel для этого вместо ItemTemplate. –
О, это круто. Я не знал об этом. Спасибо за совет! И спасибо за указание «ошибка» в моем примере кода. Я случайно написал «ItemTemplate» вместо «ItemsPanel». Исправлено в приведенном выше сообщении. – gehho