Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF绑定到HierarchycalDataTemplate中带有参数的方法_Wpf_Binding_Datatemplate_Hierarchicaldatatemplate_Objectdataprovider - Fatal编程技术网

WPF绑定到HierarchycalDataTemplate中带有参数的方法

WPF绑定到HierarchycalDataTemplate中带有参数的方法,wpf,binding,datatemplate,hierarchicaldatatemplate,objectdataprovider,Wpf,Binding,Datatemplate,Hierarchicaldatatemplate,Objectdataprovider,是否有任何方法可以将值绑定到从方法获得的textblock。例如,我将Person对象传递到HierarchycalDataTemplate,从那里我可以访问其权重属性。现在让我们假设我想得到火星上的重量,我会调用InMars方法,该方法的参数为int EarthWeight。现在,地球重量将因人而异,如何每次都设置此参数?最好的方法是使用转换器 public class WeightOnMarsConverter : IValueConverter { public object Co

是否有任何方法可以将值绑定到从方法获得的textblock。例如,我将Person对象传递到HierarchycalDataTemplate,从那里我可以访问其权重属性。现在让我们假设我想得到火星上的重量,我会调用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}}