如何使用带有自动生成列的WPF DataGrid将List作为字符串输出

时间:2017-10-11 17:18:57

标签: c# wpf list datagrid

我正在构建一个WPF应用程序,用户将上传文件,应用程序将该文件解析为"模板"对象。

List<Template> templates = GetTemplates();

将文件解析为Template对象列表后,我正在设置DataGrid的DataSource属性,并允许它根据对象的属性自动生成列。

<DataGrid x:Name="dataGrid" HorizontalAlignment="Left" VerticalAlignment="Top" Height="202" Width="809" Margin="233,85,0,0"/>

dataGrid.IsReadOnly = true;
dataGrid.ItemsSource = templates;

一些对象的属性属于List类型。在DataGrid中,这些列的数据显示为&#34;(Collection)&#34;。你可以在这里看到它:

image

public class Template
{
    public int TemplateId { get; set; }
    public List<string> ErrorMessages { get; set; } = new List<string>();
}

所以我的问题是,对我来说最简单的方法是让它显示字符串列表作为列表中项目的串联字符串(例如string.Join(&#34; \ r \ n&## 34;,listOfStringsProperty);)?

我是否需要为此列自定义整个DataGrid,还是可以在C#代码中为此属性轻松指定显示模板?

0 个答案:

没有答案