Вопрос

Есть ли какой-либо способ привязать значение к текстовому блоку, полученному с помощью метода.Например, я передаю свой объект 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}}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top