Я играю с WPF и привязыванием данных, и мне интересно следующее. Я определил несколько PropertyGroupDescriptions, но теперь мне интересно, как читать PropertyName из IValueConverter. Возможно ли это?WPF - Получение PropertyName в IValueConverter
ответ
Вы не можете. IValueConverter interface не имеет методов, которые принимают преобразованное свойство.
Это могло бы хорошо иметь PropertyInfo или PropertyDescriptor экземпляр передается в Convert и ConvertBack методов, но разработчики не считают нужным.
Единственное, что можно сделать, это установить реализацию IValueConverter в коде, а затем в построении реализации вы можете передать свойство, к которому привязана реализация интерфейса IValueConverter.
Ill просто ссылается на конвертер из propertygroupdescription – Oxymoron
, который не работает как id, хочет вы могли бы подробнее рассказать о своем решении? – Oxymoron
@Oxymoron : Вам нужно будет сделать это с помощью кода и использовать свойства класса, который реализует IValueConverter, чтобы указать свойство, в котором вы используете преобразователь значений. – casperOne
Всегда существует дешевый способ передачи имени через конвертер конвертера привязки, хотя это не совсем «чистый» способ сделать это.
Может быть, я должен разработать немного больше. У меня есть следующие группы в моем XAML:
<CollectionViewSource x:Key="cvsTasks" Source="{StaticResource tasks}" Filter="CollectionViewSource_Filter" >
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="ProjectName" />
<PropertyGroupDescription PropertyName="TaskName" />
<PropertyGroupDescription PropertyName="Complete" />
</CollectionViewSource.GroupDescriptions>
и
<TextBlock FontWeight="Bold" Text="{Binding Path=Name}"/>
Теперь я хочу конвертер быть valled на имя, которое хорошо, но я только хочу, чтобы это на самом деле работает на имущество Полная. Какой был бы лучший способ сделать это?
Я заканчиваю с Fugly кодом, как:
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value != null)
{
if (value.GetType().Equals(typeof(Boolean)))
{
return (bool)value ? "Complete" : "Active";
}
if (value.GetType().Equals(typeof(String)))
{
return value as string;
}
}
return null;
}
Кажется, не так.
- 1. WPF: односторонний IValueConverter
- 2. WPF Ivalueconverter пустые значения
- 3. WPF: IValueConverter со списком
- 4. WPF - общий IValueConverter?
- 5. .net WPF IValueConverter Конструктор
- 6. WPF set Propertyname from ItemsSource в Xaml
- 7. IValueConverter не обновляет wpf TextBox
- 8. Связывание данных WPF и IValueConverter
- 9. wpf IValueConverter не обновляет вид
- 10. Проблема IValueConverter с WPF DataGridCells
- 11. Общее использование IValueConverter C# WPF в XAML?
- 12. C# wpf IValueConverter и атрибуты свойств
- 13. WPF Datagrid IValueConverter ConvertBack Объект собственного класса
- 14. WPF - применять IValueConverter для привязки к коллекции
- 15. Связывание ChildCollection с WPF DataGridColumn с IValueConverter
- 16. wpf bind ellipse gradientstop color to ivalueconverter
- 17. Try-Catch в IValueConverter
- 18. Получение ссылки на ViewModel из IValueConverter
- 19. ICommand vs IValueConverter
- 20. Различия между страницей ["propertyName"] и page.property ["propertyName"] в EPiServer?
- 21. WPF IValueConverter - преобразование нескольких значений в одно значение
- 22. Имя элемента wpf в качестве аргумента для IValueConverter
- 23. IValueConverter, получить другие значения строки в WPF DataGrid
- 24. Разница между {Binding PropertyName} и {Binding Path = PropertyName}
- 25. Pass Color to IValueConverter
- 26. for (var propertyName in object) vs for (propertyName in object)?
- 27. Проблема IValueConverter
- 28. get_PropertyName()/set_PropertyName() vs PropertyName?
- 29. Найти управления по PROPERTYNAME
- 30. INotifyPropertyChanged и propertyName
Какое у вас использование? Что вы передаете конвертеру? –
Он используется в DataGrid для группировки. Я хочу настроить заголовки в соответствии со своим свойством – Oxymoron
, который не работает, как я и ожидал, слишком плохо :( – Oxymoron