2017-05-12 31 views
0

我对WPF比较陌生,所以请耐心等待。我试图将XML文件绑定到TextBox,以便我可以查看内容并编辑文件。我已经尝试了几个建议(所以,Google,...),但我似乎无法得到这个工作。WPF/XAML:在TextBox中查看/编辑XML文件

我XMLDataProvider看起来是这样的:

<Window.Resources> 

    <XmlDataProvider x:Key="test" Source="U:\x\2616004.xml" /> 

</Window.Resources> 

我的文本框是的TabItem内,看起来像这样:

<Grid Background="#FFE5E5E5"> 
     <TextBox x:Name="tbBiblio" Background="White" HorizontalAlignment="Left" Height="548" Margin="7,10,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="773" 
           Text="{Binding Source={StaticResource test}, XPath=/*/}" /> 
    </Grid> 

如果我运行应用程序,它只是给我一个空文本框。我也尝试了不同的XML文件,TextBlock而不是TextBox等等。

建议和帮助非常感谢。 谢谢!

编辑:

随着菲利普·坎贝尔的建议的XML文件的内容现在可以正确解析到文本框中。现在如何让TextBox显示带有标签的“原始”文件?

+0

你得到任何调试程序时在输出窗口中出现错误? – Default

+1

对不起,原代码中包含一个“<”,我只是在帖子中遗漏了它。在调试过程中,我没有收到任何错误。 – Allix

回答

1

由于Default建议,如果你看一下输出窗口,你会看到什么样的错误是:

XML binding failed. Cannot obtain result node collection because of bad source node or bad Path... 

这意味着你的XPath是无效的。我不知道你什么是XML格式,或你想要什么元素来读取,但改变的XPath以“*”应该给你一个很好的起点,即:

{Binding Source={StaticResource test}, XPath=*} 
+0

哦,是的,我从来没有想过要真正看看输出窗口,你们都是对的。这是错误。对XPath = *的更改有所帮助!它现在显示解析的内容。但是,如何让TextBox显示所有标签的原始文件? – Allix