Как динамически добавить RowDefinition или ColumnDefinition в сетку с привязкой?

Я пытаюсь создать таблицу с переменным количеством строк и столбцов. Я делаю это с помощью 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 во время выполнения ?

12
задан Bizhan 5 November 2019 в 08:51
поделиться