Я хочу использовать конвертер, но не знаю, как получить список конвертеров на стороне класса.
В моей модели ViewModel у меня есть две ObservableCollections, коллекция Customers для привязки моего элемента DataGrid исходники и коллекция секторов для привязки конвертера.
public ObservableCollection<Custormer> Customers = new ObservableCollection<Customer>();
public ObservableCollection<Sector> Sectors = new ObservableCollection<Sector>();
Мой код XAMl выглядит так
<DataGrid ItemsSource="Binding Customers" .... >
<DataGridTextColumn Header="Name">
<DataGridTextColumn.Binding>
<MultiBinding Converter="{StaticResource ConverterNameHere}">
<Binding Path="Name" />
<Binding Path="Sectors" />
</MultiBinding>
</DataGridTextColumn.Binding>
.....
</DataGrid>
Мой конвертер:
public class ConverterNameHere: IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
string Name = values[0].ToString();
/* This does not work ---------------------------- */
ObservableCollection<Sector> SectorsList = new ObservableCollection<Sector>(values[1].ToList());
/* ----------------------------------------------- */
var found = SectorsList .FirstOrDefault(sector => sector.Name == Name);
if(found == null)
{
return "Not Found";
}
return Name;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
Заранее спасибо