我已将 TreeView 绑定(bind)到 XMLDataProvider。 TreeView 按 Visual Studio 编辑器中的预期显示数据。但是当我按 F5 时,应用程序运行,但 TreeView 是空白的。有谁知道为什么我运行应用程序时看不到它?
这是完整的代码:
<Window x:Class="TreeViewDataBinding.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<XmlDataProvider x:Key="FolderList">
<x:XData>
<TreeFolders>
<Folder Name="Audit Reports" />
<Folder Name="Joes Test" >
<Folder Name="Analysis01" />
<Folder Name="Test090803" />
</Folder>
<Folder Name="Carl" />
<Folder Name="Steve" />
</TreeFolders>
</x:XData>
</XmlDataProvider>
<HierarchicalDataTemplate
x:Key="FolderTreeItemTemplate"
DataType="Folder">
<HierarchicalDataTemplate.ItemsSource>
<Binding XPath="child::*" />
</HierarchicalDataTemplate.ItemsSource>
<TextBlock Text="{Binding XPath=@Name}" />
</HierarchicalDataTemplate>
</Window.Resources>
<Grid>
<TreeView
ItemsSource="{Binding Source={StaticResource FolderList}, XPath=//TreeFolders/*}"
ItemTemplate="{StaticResource FolderTreeItemTemplate}" />
</Grid>
</Window>
最佳答案
我没有运行代码,但我的猜测是您需要指定一个命名空间:
xmlns=""
将 xmlns 附加到您的第一个数据标签:
<XmlDataProvider x:Key="FolderList">
<x:XData>
<TreeFolders xmlns="">
<Folder Name="Audit Reports"/>
<Folder Name="Joes Test">
<Folder Name="Analysis01"/>
<Folder Name="Test090803"/>
</Folder>
<Folder Name="Carl"/>
<Folder Name="Steve"/>
</TreeFolders>
</x:XData>
</XmlDataProvider>
关于wpf - TreeView 绑定(bind)到 XMLDataProvider - 在编辑器中显示数据,但运行时为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1605062/