【问题标题】:Custom Control and DependencyProperty自定义控件和 DependencyProperty
【发布时间】:2009-07-22 05:15:47
【问题描述】:

我创建了一个自定义控件,该控件在内部使用 BindingList 来跟踪显示在某些自定义网格中的 Account 对象。我想向我的控件添加一个 DependencyProperty,它将为 List 公开 set/get,这将允许我在控件和数据模型之间进行双向绑定。我希望能够设置该列表来初始化我的控件,并获取更新 BindingList 所产生的更新。简而言之,我需要以某种方式提供来自 DependencyProperty 的列表和我的内部 BindingList 之间的转换,反之亦然(取决于我的控件最初是从数据源绑定的,还是根据我的控件中对 BindingList 的更改更新数据源)。

我在网上找到的示例处理直接使用 DependencyProperties 上设置的列表的控件 - 在我的情况下,我希望有一定程度的间接性,因为 BindingList 不一定与 DependencyProperty 中的列表相同。

【问题讨论】:

  • 你能给我们举个例子吗?

标签: wpf binding controls


【解决方案1】:

BindingList 怎么不一样?这不是 C# 的工作方式:

myControl1.List = list1;

上面定义的意思是设置属性为值,设置后应该是一样的。

虽然您可以在普通的普通 C# 类的 setter 中创建有趣的逻辑,但 DependencyProperty 是预定义的概念,您将无法摆脱理智。

【讨论】:

    【解决方案2】:

    我在内部使用的 BindingList 与我试图公开的 DependencyProperty 上的列表不同,因为我不想将内部实现公开给外部属性。

    在复杂的控件中,可能有多个网格等需要有自己的 BindingList 来保存数据。我的 DependencyProperty 用于: 1)用一些数据初始化自定义控件 2) 根据用户输入将新列表设置回模型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-27
      相关资源
      最近更新 更多