Подтвердить что ты не робот

Как вы привязываете дочерние элементы сетки к списку?

В моей модели ViewModel у меня есть список элементов, для которых мне хотелось бы привязать сетку (элементы будут дочерними сетками). Список представляет собой список моделей просмотра для элементов.

Как вы привязываете сетку к списку (я могу получить доступ к .children в коде, но не к xaml)? Кроме того, как вы определяете шаблон данных (другой файл xaml) для моделей просмотра в списке, чтобы они отображались правильно в сетке.

Спасибо

4b9b3361

Ответ 1

Используйте ItemsControl с ItemsPanel, установленным в сетку:

<ItemsControl ItemsSource="{Binding TheList}">
  <ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
        <Grid/>
    </ItemsPanelTemplate>
  </ItemsControl.ItemsPanel>
</ItemsControl>

В ItemsControl ItemContainerStyle вы можете привязать привязанные свойства Grid.Row и Grid.Column к некоторому свойству элементов:

  <ItemsControl.ItemContainerStyle>
    <Style TargetType="{x:Type FrameworkElement}">
        <Setter Property="Grid.Row" Value="{Binding RowIndex}"/>
        <Setter Property="Grid.Column" Value="{Binding ColumnIndex}"/>
    </Style>
  </ItemsControl.ItemContainerStyle>