Я ищу информацию о том, как предоставлять данные в DataGrid с использованием словаря.Мой пример использования: у меня есть WebService, который предоставляет мне таблицу с содержимым (и именами столбцов), которые я узнаю во время выполнения.
Моя текущая реализация кортежа данных:
public class GridTuple : Dictionary<string, string>
{
public GridTuple(IDictionary<string, string> cv, int id) : base(cv)
{
TupleId = id;
}
public int TupleId { set; get; }
public override string ToString()
{
string result = TupleId + " ";
for (int i = 0; i < ColumnNames.Names.Count; i++)
{
result += ColumnNames.Names[i] + " " + this[ColumnNames.Names[i]] + " ";
}
return result;
}
}
... и реализация для DataGrid в xaml:
<sdk:DataGrid AutoGenerateColumns="True" HeadersVisibility="All" x:Name="dataGrid"
HorizontalAlignment="Left" VerticalAlignment="Top"
ItemsSource="{Binding ListOfGridTuples}" MouseLeftButtonUp="dataGrid_MouseLeftButtonUp"
SelectionMode="Single" Grid.Column="1" >
<sdk:DataGrid.Columns>
<!-- ValueForColumn1 is a key in my GridTuple -->
<sdk:DataGridTextColumn Binding="{Binding [ValueForColumn1]}" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
...