我在一个窗口中有一个UI,它绑定到一个XML文件。每当我手动去更改我的XML文件时,我都需要更新UI。
以下是WAML文件:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<XmlDataProvider x:Key="dataSource" Source="Data/Media.xml">
</XmlDataProvider>
</Window.Resources>
<Grid>
<ListBox Name="listBox1" DataContext="{Binding Source={StaticResource dataSource}, XPath=/Media/Book/@Title, Mode=OneWay}" />
</Grid>
</Window>
以下是XML文件:
<?xml version="1.0" encoding="utf-8" ?>
<Media>
<Book Author='John' Title='Fish are my aaaa friends' />
<Book Author='Dave' Title='Fish are my enemies' />
<Book Author='Jane' Title='Fish are my food' />
</Media>
我在服务层有一个窗口对象。为了初始化它,我做了以下事情:
winobj.DataContext = node.OuterXml; winobj.Show();
其中node
是我从服务器获取的XML字符串。如果我要求您更新此winobj或重置其datacontext以便更新UI,您将如何进行?
我的界面以下列方式绑定。
<Window.Resources>
<XmlDataProvider x:Key="Data" XPath="//WindowUpdate" />
</Window.Resources>
<Label Content="{Binding Source={StaticResource Data},
XPath=Window/Children/Label[@id\=\'lblInterval\']/@text}" ...