Привязка WPF к методу с параметром внутри HierarchicalDataTemplate
-
21-09-2019 - |
Вопрос
Есть ли какой-либо способ привязать значение к текстовому блоку, полученному с помощью метода.Например, я передаю свой объект Person в HierarchicalDataTemplate, оттуда я могу получить доступ к его свойству Weight .Теперь предположим, что я хочу получить вес на Марсе, я бы вызвал метод InMars, который принимает параметр int EarthWeight .Теперь земной вес будет меняться от Человека к Человеку, как можно устанавливать этот параметр каждый раз?
Решение
Лучший способ сделать это - с помощью конвертера.
public class WeightOnMarsConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
// value will be the persons weight
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotSupportedException("This method should never be called");
}
}
Затем вам просто нужно настроить привязку.
<l:WeightOnMarsConverter x:key="weightOnMars" /> <-- Add this to the resources
{Binding Path=Weight, Converter={StaticResource weightOnMars}}
Не связан с StackOverflow