这是一个由两部分组成的问题。
1)是否可以在不使用ObjectDataProvider的情况下将XDocument绑定到WPF控件?
下面是我的代码片段,其中xmlcondocument起作用,但我不能使用xdocument
XmlDataProvider provider = new XmlDataProvider();
provider.XPath = "/Parent/Child";
provider.Document = mydoc; // xmldocument works fine.
Binding binding = new Binding();
binding.XPath = "InnerChild/Name";
binding.Source = provider;
decisionCb.SetBinding(ComboBox.ItemsSourceProperty, binding);
我需要保留使用xpath绑定的能力,因为我的XML文档是动态生成的。我想用xdocument和linq:(
2)是否可以在XAML中的Xelement中使用xpath扩展函数?
<DataTemplate DataType="{}{http://myns}Child" >
<StackPanel Orientation="Horizontal">
<!-- This wont work because Element cannot accept XPath -->
<TextBlock Text="{Binding Path=Element[{http://myns}InnerChild/Name]}" />
</StackPanel>
</DataTemplate>