将DataGridColumn绑定到包含UserControl中的属性

时间:2014-03-22 11:22:23

标签: c# wpf binding user-controls

我想将自定义DataGridBoundColumn绑定到包含UserControl的属性。此属性包含告知列如何生成其内容的信息。

这一开始似乎很容易,但数据网格中的数据上下文发生了变化,我似乎无法获得对包含用户控件的引用。这是我试过的:

  1. ElementName不起作用,因为该列的名称范围不同。
  2. 使用x:Reference,在类似情况下对我有用,会产生初始化错误。
  3. 使用FindAncestor不起作用,因为该列不属于同一个可视树。
  4. 该列似乎没有Owner等属性来获取包含DataGrid的内容。
  5. 我只能想到解决问题的几种方法,而且它们都是凌乱或不满意的:

    1. 尝试通过列中的代码查找引用。这与使用列有关,即在几个不同的上下文中重用它。
    2. 创建一个静态资源Dummy,其依赖项属性Value使用x:Reference扩展名绑定到用户控件,然后将列绑定到静态资源,找到所需的使用Path的财产。 这就是我现在正在做的事情

0 个答案:

没有答案