Я пытаюсь создать таблицу с переменным количеством строк и столбцов. Я делаю это с помощью ItemsControl
, который имеет сетку
в качестве ItemsPanel
. И я знаю, что могу установить Grid.Row
и Grid.Column
каждого элемента через его ItemContainerStyle
. Но я не знаю, как изменить количество строк и столбцов и их размеры , когда я не могу получить доступ к сетке по ее имени.
Как можно изменить RowDefinitions
или ColumnDefinitions
Grid
во время выполнения без какого-либо кода программной части ] с использованием привязки?
Это код XAML:
<ItemsControl Name="myItemsControl" ItemsSource="{Binding Cells}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid Name="myGrid">
<Grid.RowDefinitions>
<!-- unknown number of rows are added here in run-time -->
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<!-- known number of columns are added here in run-time -->
</Grid.ColumnDefinitions>
</Grid>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style.../>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
Я попытался добавить в код позади RowDefinition
, но не смог найти способ получить доступ к myGrid
по его имени (или любым другим способом), поскольку он находится внутри ItemsPanelTemplate
.
Мне интересно, есть ли способ программно добавить или изменить RowDefinitions
во время выполнения ?