Могу ли я использовать List<T>
и List<Expression>
для заполнения wpf datagrid?Могу ли я использовать список <T> и список <Expression> для заполнения wpf datagrid?
{
var processes = Process.GetProcesses().ToList();
PopulateDataGrid(processes, x => x.ProcessName, x => GetSafeFilename(x));
}
private string GetSafeFilename(Process p)
{
try
{
return p.MainModule.FileName;
}
catch (Exception)
{
return "";
}
}
Идея заключается в том, что я хочу, чтобы иметь возможность передать список и Params список выражений для заполнения DataGrid. Я хочу показать список выражений в datagrid.
Я также хотел бы иметь возможность получить базовый объект для выбранной строки.
Я знаю, что я могу использовать анонимные типы, как:
var list = processes.Select(x => new {TagObject = x, ProcessName = x.ProcessName, Filename = GetSafeFilename(x)}).ToList();
Но тогда я должен убедиться, чтобы не добавить «TagObject» к сетке.
Любые идеи? Мне очень нравится идея синтаксиса:
PopulateDataGrid(processes, x => x.ProcessName, x => GetSafeFilename(x));
Но я не уверен, как это произошло.
[? Как привязать список к элементу управления DataGridView] (http://stackoverflow.com/questions/479329/how-to-bind-a -liststring-to-a-datagridview-control) –
[WPF: привязать DataGrid к списку] (http://stackoverflow.com/questions/2872916/wpf-bind-datagrid-to-liststring) –
Когда вы говорите о выражениях , вы имеете в виду [лямбда-выражения] (https://msdn.microsoft.com/en-us/library/bb397687.aspx?f=255&MSPPError=-2147217396), правильно? Поскольку WPF имеет свой собственный класс [Expression] (https://msdn.microsoft.com/en-us/library/system.windows.expression (v = vs.110) .aspx). –