0

问题

我有一个包含一系列项目的 XML 文件。我可以正确绑定到项目列表以及节点上的属性。但是,我无法绑定任何子元素,并且不确定要使用什么XPathPath使用什么。如何将数组项的子元素绑定到一个DataGridColumn

更多细节

我有一个.rdl文件,基本上是 XML,并且想批量添加图像,而 SSRS 不这样做。为了解决这个问题,我创建了一个 WPF 应用程序,XmlDataProvider如下所示:

<UserControl.DataContext>
    <XmlDataProvider x:Name="dpReport" Source="MyFile.rdl" XPath="rd:Report/rd:EmbeddedImages/rd:EmbeddedImage" />
</UserControl.DataContext>

我必须rd在 XAML 和代码隐藏的 NameTable 中添加前缀,否则它不会绑定。

我有一个DataGrid正确绑定到列表的 ,以及一个正确绑定到属性的列Name。但是,我还想绑定到MIMETypeImageData子元素。我该怎么做?

简化DataGrid的 Xaml

<DataGrid x:Name="lstImages" AutoGenerateColumns="False" ItemsSource="{Binding}" Grid.Row="2">
    <DataGrid.Columns>      
        <DataGridTextColumn Header="Name" Binding="{Binding XPath=@Name,Mode=TwoWay}"/>
        <!-- MIMEType Here -->
    </DataGrid.Columns>
</DataGrid>

XPaths 尝试:

我尝试使用以下绑定的变体:

<DataGridTextColumn Header="MimeType" Binding="{Binding XPath=MIMEType}"/>
<DataGridTextColumn Header="MimeType" Binding="{Binding XPath=MIMEType/text()}"/>
<DataGridTextColumn Header="MimeType" Binding="{Binding XPath=/MIMEType[1]/text()}"/>
<DataGridTextColumn Header="MimeType" Binding="{Binding XPath=MIMEType[1]/text()}"/>
<DataGridTextColumn Header="MimeType" Binding="{Binding XPath=(/MIMEType/text())[0]}"/>
<DataGridTextColumn Header="MimeType" Binding="{Binding XPath=(MIMEType/text())[0]}"/>
4

0 回答 0