WPF绑定到具有HierarchicalDataTemplate内部参数的方法

时间:2009-11-22 21:05:40

标签: wpf binding datatemplate hierarchicaldatatemplate objectdataprovider

是否有任何方法可以将值绑定到从方法获取的文本块。例如,我将Person对象传递给HierarchicalDataTemplate,从那里我可以访问它的Weight属性。现在假设我想在火星中获得权重,我会调用InMars方法,该方法采用int EarthWeight的参数。现在,earthweight将从Person变为Person,每次如何设置此参数?

1 个答案:

答案 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}}