Здравствуйте!
Есть DataGrid, источник данных для которого меняется в ходе исполнения. Код для иллюстрации:
// Один из типов
public class Foo
{
public string Id {get; set;}
public string Data {get; set;}
}
// Другой тип с другим набором полей и их типов
public class Bar
{
public int Code {get; set;}
public string OtherData {get; set;}
}
// Позже...
// Имеем два (или более) различных источников данных для одного и того же DataGrid
List<Foo> fooList = new List<Foo> { new Foo() { Id="ABC", Data = "data1" }}
List<Bar> barList = new List<Bar> { new Bar() { Code=3, OtherData = "data2" }}
// Переключаем источники
if (condition)
this.dgDisplay.ItemsSource = fooList;
else
this.dgDisplay.ItemsSource = barList;
Теперь в XAML мне нужно передать не только наименование свойства в Converter, но и тип используемых в настоящее время данных (Foo или Bar) из примера выше.
То есть в коде XAML имею такой фрагмент:
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="Content" Value="{Binding ConverterParameter=????, Converter={StaticResource PropertyDescriptionConverter}}" />
</Style>
</DataGrid.ColumnHeaderStyle>
Вопрос - как передать в Converter тип (Foo или Bar), вместе с именем свойства?