Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 使用XPath从xml正确绑定注释节点_Wpf_Xaml_Xpath - Fatal编程技术网

Wpf 使用XPath从xml正确绑定注释节点

Wpf 使用XPath从xml正确绑定注释节点,wpf,xaml,xpath,Wpf,Xaml,Xpath,因此,我有一个绑定到动态加载的xml文件的树视图 然后,在另一个面板中,我有一个绑定到TreeViewItems的列表视图 其行为是,当用户单击树中的项目时,任何属性或文本都会显示在ListView中 给定以下xml <Root> <Child Name="Attribute"> <!--Comment--> <Content>Some text</Content> </Child> </Roo

因此,我有一个绑定到动态加载的xml文件的树视图

然后,在另一个面板中,我有一个绑定到TreeViewItems的列表视图

其行为是,当用户单击树中的项目时,任何属性或文本都会显示在ListView中

给定以下xml

<Root>
  <Child Name="Attribute">
    <!--Comment-->
    <Content>Some text</Content>
  </Child>
</Root>
将注释的值添加到
注释
节点(好),但也添加到树中的每个其他节点(坏)。我尝试在绑定中加入一些
not()
条件,但没有效果

将绑定更改为

<Binding XPath="@*|text()|//comment()" />
<Binding XPath="@*|text()|../comment()" />

更接近,因为它将注释正确地绑定到注释节点,但也绑定到包含注释的节点的任何其他子节点

我需要(我想)的是某种方式来改变这一点

<Binding XPath="@*|text()|../comment()[not(NodeType != Comment)]" />

也就是说,如果当前上下文节点是注释,则仅选择此注释。 但这个例子失败了

在这一点上,我只是在随机尝试,所以我想是时候问:)

有人能提出一个能实现我(希望充分)描述的绑定吗

试试这个:

<Binding XPath="@*|text()|self::comment()" />

Ha!如此美丽和简单。抱歉,回复太晚,其他项目正忙。谢谢
<Binding XPath="@*|text()|self::comment()" />