是否有任何方法可以将值绑定到从方法获取的文本块。例如,我将Person对象传递给HierarchicalDataTemplate,从那里我可以访问它的Weight属性。现在假设我想在火星中获得权重,我会调用InMars方法,该方法采用int EarthWeight的参数。现在,earthweight将从Person变为Person,每次如何设置此参数?
答案 0 :(得分:3)
执行此操作的最佳方法是使用转换器。
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}}