代码之家  ›  专栏  ›  技术社区  ›  sourcenouveau

WPF绑定属性path和xpath是否互斥?

  •  6
  • sourcenouveau  · 技术社区  · 16 年前

    假设我有一个 UserControl 谁的 DataContext 设置为具有 XmlDataProvider 属性。我希望在控件的XAML中绑定到此属性,并指定一些XPath。我试过这个:

    <TreeView ItemsSource="{Binding Path=PropertyName, XPath=/items/item/*}">
    

    在运行时,我得到一个异常“带有xpath的bindingExpression不能绑定到非XML对象”。去掉 Path 属性和设置 TreeView 的DataContext XmlPropertyName 直接工作很好。

    给出了什么?是 路径 XPath 相互排斥?

    1 回复  |  直到 16 年前
        1
  •  3
  •   rmoore    16 年前

    它们不是相互排斥的,正如 Data Binding Overview 指定值的路径 部分。 xpath表达式将在path属性之前执行,但有时需要像bea stollnitz解释的那样使用。 here here .

    “删除Path属性并将TreeView的DataContext设置为xmlpropertyName直接工作正常。”

    既然您提到了这一点,在我看来,您希望在xpath表达式之前对path属性进行计算,这就是为什么会出现错误,xpath表达式正在对当前上下文进行计算,之后对路径进行计算。 错误解释

    推荐文章