使用 Datagrid 在 MVVM Light 中以 excel 样式格式显示 List 中的 My

本文关键字:List 显示 MyClass My 中的 格式 样式 Datagrid MVVM Light excel | 更新日期: 2023-09-27 18:35:11

我有一个简单类的列表,我试图在xaml中显示。该类类似于以下内容:

public class MyClass
{
   public MyClass()
   {
      Things= new List<string>();
   }
   public string FirstName{get; set;}
   public string MiddleName{get; set;}
   public string LastName{get; set;}
   public List<string> Things{get; set;}
}

然后我有一个上述类的列表

List<MyClass> myCollection;

显示 myCollection 的最佳方式是什么?我尝试绑定到 DataGrid,但在列表中显示列表时遇到问题

使用 Datagrid 在 MVVM Light 中以 excel 样式格式显示 List<MyClass> 中的 My

我不确定您是否要排除事物,所以我会同时执行这两项操作。

没有东西:

<DataGrid ItemsSource="{Binding myCollection}" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Header="First Name" Binding="{Binding FirstName}" />
        <DataGridTextColumn Header="Middle Name" Binding="{Binding MiddleName}" />
        <DataGridTextColumn Header="Last Name" Binding="{Binding LastName}" />
    </DataGrid.Columns>
</DataGrid>

与事物:

<DataGrid ItemsSource="{Binding myCollection}" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Header="First Name" Binding="{Binding FirstName}" />
        <DataGridTextColumn Header="Middle Name" Binding="{Binding MiddleName}" />
        <DataGridTextColumn Header="Last Name" Binding="{Binding LastName}" />
        <DataGridTemplateColumn>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <ListBox ItemsSource="{Binding Things}" />
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>