如何将集合绑定到WPF中的datagrid列 [英] How to bind collection to datagrid column in WPF
本文介绍了如何将集合绑定到WPF中的datagrid列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下模型:
public class Order
{
public Order()
{
Specifications = new List<string>();
}
public Guid Id { get; set; }
public DateTime CreateDate { get; set; }
public ICollection<string> Specifications { get; set; }
}
public class Context: INotifyPropertyChanged
{
private ObservableCollection<Order> orders;
public ObservableCollection<Order> Orders
{
get { return orders; }
set
{
orders = new ObservableCollection<Order>(value);
}
}
}
我是使用以下命令将集合绑定到Xaml中的datagrid:
I am binding the collection to datagrid in Xaml using:
<Window.DataContext>
<viewModel:Context/>
</Window.DataContext>
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Orders}" HorizontalAlignment="Stretch" Margin="5" Name="dgUserList" VerticalAlignment="Stretch" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Id}"/>
<DataGridTextColumn Binding="{Binding CreateDate}" />
</DataGrid.Columns>
</DataGrid>
如何添加另一列以绑定规范?我尝试过:
How can I add another column to bind Specifications? I tried:
<DataGridTemplateColumn>
<DataGrid ItemsSource="{Binding Specifications}"></DataGrid>
</DataGridTemplateColumn>
但是我得到
无法解析数据上下文中的规范
can not resolve Specifications in data context
推荐答案
列表框:
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ListBox ItemsSource="{Binding Specifications}"></ListBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
这篇关于如何将集合绑定到WPF中的datagrid列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文