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

发布于 2024-08-12 02:24:22 字数 190 浏览 8 评论 0原文

有没有办法将值绑定到从方法获取的文本块。例如,我将 Person 对象传递到 HierarchicalDataTemplate 中,从那里我可以访问其 Weight 属性。现在假设我想获取火星的重量,我会调用 InMars 方法,该方法采用 int EarthWeight 参数。现在earthweight要从Person变成Person,怎么每次都设置这个参数呢?

Is there any way to bind a value to a textblock that is obtained from a method. For example, I pass my Person object into the HierarchicalDataTemplate, from there I can access its Weight property. Now lets say I want to get the weight in mars, I would call the InMars method that takes a parameter of int EarthWeight . Now earthweight is going to change from Person to Person, how can this parameter be set every time?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无语# 2024-08-19 02:24:22

最好的方法是使用转换器。

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

The best way to do this is with a converter.

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");
    }
}

Then you just need to set up the binding.

<l:WeightOnMarsConverter x:key="weightOnMars" /> <-- Add this to the resources

{Binding Path=Weight, Converter={StaticResource weightOnMars}}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文