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