开发者

WPF - Bind a ListView to a .xml file dynamically

Is there a way (using the MVVM pattern) to dynamically bind a ListView to an xml file? Actually the ListView is binded to a static path, like:

C:\DocumentsAndSettings\blabla\morebla\log.xml 

I need something like

AppPath\log.xml

Here's my code: in the View.xaml:

<ListView ItemsSource="{Binding Source={S开发者_StackOverflow中文版taticResource logDataSource}, ...

in the App.xaml:

        <XmlDataProvider x:Key="logDataSource" 
                     Source="C:\DocumentsAndSettings\blabla\morebla\log.xml" 
                     d:IsDataSource="True"/>

I'd like something like this:

        <XmlDataProvider x:Key="logDataSource" 
                     Source="AppPath\log.xml" 
                     d:IsDataSource="True"/>

Thank you in advance.


Why don't you just use relative paths? For example, if you put your log.xml in data directory in your project, simply write

<XmlDataProvider x:Key="logDataSource" Source="data/log.xml" />

Note that the file should have a build action of "resource". Or if it's a "content" then set copy to o/p directory to "copy always". (Search for difference b/w these two on Google)


If I put the log.xml file in my project directory, the logger library will write in the

project/bin/debug/log.xml

while the xaml binding will look for log.xml in

project/log.xml

I solved the problem setting the property of the log.xml file to "Content" not to "Resource"..even if I really don't know the difference :)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜