여러 컬렉션이있는 클래스가 있는데이 컬렉션은 서로에 따라 다릅니다. DataTable
의 Columns
및 Rows
을 생각해보십시오. 달성하고자하는 것은 DataGrid
의 DataContext
을 내 클래스로 설정하고 열의 바인딩 경로를 첫 번째 컬렉션 (DataTable.Column
)의 항목으로 설정할 수 있다는 것입니다. 그러나 DataGrid
은 두 번째 컬렉션의 항목 목록을 표시해야합니다. (DataTable.Rows
)바인딩 경로를 리디렉션하는 방법은 무엇입니까?
public class MyClass
{
public List<object> Collection1 { get; set; }
public List<List<object>> Collection2 { get; set; }
public void AddBinding()
{
var myClass = new MyClass()
{
Collection1 = new List<object>
{
"Item1",
"Item2",
"Item3",
"Item4",
},
Collection2 = new List<List<object>>
{
new List<object>
{
"Value1 linked to Item1",
"Value2 linked to Item2",
"Value3 linked to Item3",
"Value4 linked to Item4",
},
new List<object>
{
"Value5 linked to Item1",
"Value6 linked to Item2",
"Value7 linked to Item3",
"Value8 linked to Item4",
},
}
};
var grid = new DataGrid();
grid.DataContext = myClass;
grid.Columns.Add(new DataGridTextColumn()
{
Binding = new Binding("Item1")
});
grid.Columns.Add(new DataGridTextColumn()
{
Binding = new Binding("Item2")
});
grid.Columns.Add(new DataGridTextColumn()
{
Binding = new Binding("Item3")
});
grid.Columns.Add(new DataGridTextColumn()
{
Binding = new Binding("Item4")
});
}
}
가능한지 궁금한가요? 이것을 달성하는 방법을 아는 사람은 누구입니까?
에서 바인딩으로 열에서 값을 ItemsSource로 행 수집을 설정하고 설정 -이 데이터 구조를 DataTable로 변환하고 DataTable.DefaultView를 ItemsSource로 사용합니까? – ASh
PCL에서 DataTable에 많은 문제가있어 맞춤 구현이 필요하기 때문에 불가능합니다. – Jownster