我可以将列表绑定到wpf网格吗?列表中的每个对象都有一个要绑定的行和列属性。
注意:我不想使用DataGrid。
答案 0 :(得分:3)
您无法直接绑定到Grid
。但是,您可以使用ItemsControl
,将ItemsPanel
更改为Grid
,将ItemsControl.ItemContainerStyle
绑定Grid.Column
和Grid.Row
更改为如下所示:
<ItemsControl ItemsSource="{Binding Path=MyItems}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
</Grid>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Grid.Row" Value="{Binding Path=Row}"/>
<Setter Property="Grid.Column" Value="{Binding Path=Col}"/>
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>