【问题标题】:Are WPF binding properties Path and XPath mutually exclusive?WPF 绑定属性 Path 和 XPath 是否互斥?
【发布时间】:2009-07-01 06:41:03
【问题描述】:

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

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

在运行时,我收到异常“带有 XPath 的 BindingExpression 无法绑定到非 XML 对象”。删除Path 属性并将TreeView 的DataContext 设置为XmlPropertyName 直接可以正常工作。

什么给了? PathXPath 是否互斥?

【问题讨论】:

    标签: wpf data-binding xmldataprovider


    【解决方案1】:

    它们不是相互排斥的,正如Data Binding Overview 指定值的路径部分下简要提到的那样。 XPath 表达式将在 Path 属性之前执行,但有时需要使用 Bea Stollnitz 解释的 herehere

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

    既然您提到了这一点,在我看来,您似乎希望在 XPath 表达式之前评估 Path 属性,这就是您收到错误的原因,XPath 表达式正在评估您当前的上下文,并且之后正在评估路径。 错误说明

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-04
      • 2014-03-10
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 2010-09-30
      • 1970-01-01
      相关资源
      最近更新 更多