gpt4 book ai didi

c# - 我可以在 C#/WPF 中获取绑定(bind)对象的 Type() 吗(即使绑定(bind)值为 null)?

转载 作者:行者123 更新时间:2023-11-30 16:33:04 27 4
gpt4 key购买 nike

我有一个未知来源的绑定(bind)。我所拥有的只是绑定(bind)。我没有其他方式查看绑定(bind)对象。我需要找出绑定(bind)对象的类型,即使值为 null(这是我的问题所在)。

我通过绑定(bind)到一个对象然后使用该对象作为获取类型的方式来评估绑定(bind),但我需要知道类型,即使值为 null。

例如,我有这样一个类:

public class Customer{
public string Name { get; set; }
public int Age { get; set; }
}

现在,如果我有一个 WPF 控件绑定(bind)到任何这些属性(假设它们是依赖属性),我想获取属性的类型,即使值为 null。

因此,我有一个自定义控件,它现在有一个表示 {Binding Name} 的 Binding 对象。如何使用 C# 获取“绑定(bind)对象”的类型?

最佳答案

您是否愿意使用反射来访问非公共(public)成员?如果是这样,我认为Binding有一个名为 CreateBindingExpression 的内部方法返回 BindingExpression ,它有一个名为 _listener 的私有(private)成员内部类型 PropertyPathListener .它有一个名为 LeafType 的内部属性,我相信这就是您要找的。

它很困惑,需要信任,并且在未来版本的框架中可能会失败,但它可能是获得所需内容的唯一方法。

关于c# - 我可以在 C#/WPF 中获取绑定(bind)对象的 Type() 吗(即使绑定(bind)值为 null)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3548596/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com