在xaml中,有两种样式:
风格1:
<ListBox Width="400" Height="300" Background="Honeydew"
**ItemsSource**="{Binding Source={StaticResource InventoryData},
XPath=*[@Stock\=\'out\'] | *[@Number>\=8 or @Number\=3]}">风格2:
<ListBox Width="400" Height="300" Background="Honeydew">
**<ListBox.ItemsSource>**
<Binding Source="{StaticResource InventoryData}"
XPath="*[@Stock='out'] | *[@Number>=8 or @Number=3]"/>
</ListBox.ItemsSource>您可以注意到有不同的语法。样式2在源代码和'/=之后有“,样式1需要转义
有人能帮我理解为什么样式1和样式2有不同的语法吗?
我希望我能很好地描述我的问题。
发布于 2015-03-04 08:27:29
这是因为在样式1中,XPath在字符串中,所以您需要\来处理特殊字符。我认为预处理程序需要这样才能将XPath从其值中分离出来,然后对值进行解码。
在样式2中,只有XPath的值是字符串,所以可以使用更自然的语法。
https://stackoverflow.com/questions/28849182
复制相似问题