C# 如何为这样的DataGrid组织ItemSource
我正在使用MVVM,不知道如何为这样的DataGrid组织ItemSource类 DataGrid XAMl代码:C# 如何为这样的DataGrid组织ItemSource,c#,wpf,mvvm,datagrid,C#,Wpf,Mvvm,Datagrid,我正在使用MVVM,不知道如何为这样的DataGrid组织ItemSource类 DataGrid XAMl代码: <DataGrid CanUserAddRows="True" ItemsSource="{Binding TestCollection}"> <DataGrid.Columns> <DataGridTemplateColumn Header="First
<DataGrid CanUserAddRows="True"
ItemsSource="{Binding TestCollection}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="First Column">
<DataGridTemplateColumn.CellEditingTemplate >
<DataTemplate >
<ContentControl>
<StackPanel>
<TextBox Text="{Binding First}"/>
<TextBox Text="{Binding Second}"/>
</StackPanel>
</ContentControl>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Second Column">
<DataGridTemplateColumn.CellEditingTemplate >
<DataTemplate >
<ContentControl>
<StackPanel>
<TextBox Text="{Binding Third}"/>
<TextBox Text="{Binding Fourth}"/>
</StackPanel>
</ContentControl>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
我有这个想法,但不管用
public class ComplexTable
{
public ComplexTable()
{
FirstProperty = new FirstClass();
SecondProperty = new Second();
}
public class FirstClass
{
public FirstClass()
{
First = "FirstString";
Second = "SecondString";
}
public string First { get; set; }
public string Second { get; set; }
}
public class Second
{
public Second()
{
Third = "ThirdString";
Fourth = "FourthString";
}
public string Third { get; set; }
public string Fourth { get; set; }
}
public FirstClass FirstProperty { get; set; }
public Second SecondProperty { get; set; }
}
public ObservableCollection<ComplexTable> _testCollection = new ObservableCollection<ComplexTable>();
private ObservableCollection<ComplexTable> TestCollection
{
get { return _testCollection; }
set
{
_testCollection = value;
RaisePropertyChanged("TestCollection");
}
}
据我所知,ItemSource类中负责DataGrid列的每个属性,以及单元格是否包含多个控件等。属性类型也应该包括每个控件的属性。我想不出我错在哪里
你可以通过这个链接理解
<StackPanel>
<TextBox Text="{Binding SelectedItem.Name, ElementName=myDataGrid}"/>
<DataGrid x:Name="myDataGrid" />
</StackPanel>
我知道怎么装订。我的问题是关于如何组织这张桌子的课。