你如何绑定一个网格的孩子到一个列表?(How do you bind a grid's ch

2019-07-12 17:14发布

在我的ViewModel我有一个项目清单,我想在我看来网格绑定到(该项目将是电网儿童)。 该列表视图模型的项目清单。

你如何绑定网格到列表中(我可以在代码中访问。孩子但不XAML)? 还有,你怎么指定列表的视图模型数据模板(另一个XAML文件),使他们正确地在网格内呈现。

谢谢

Answer 1:

使用ItemsControlItemsPanel设置为一个网格:

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

ItemsControlItemContainerStyle ,您可能希望将结合Grid.RowGrid.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>


文章来源: How do you bind a grid's children to a list?
标签: wpf mvvm grid bind