WPF中后台存儲數據方法一XML


就我個人所得,目前用作WPF數據源的方法有如下幾種:

1.控件的互相綁定;

2.XML存儲數據;

3.序列化反序列化json串存儲;

4.聯系數據庫;

 

其中控件的相互綁定無非是binding方法,由於不能存儲修改之后的操作,故在此不過多討論;

接下來說說XML方法存儲數據;

 

一、首先將數據存儲在XML中

1 <?xml version="1.0" encoding="utf-8" ?>
2 <curriculum_info class_name = "高等數學" teacher = "呂良福" place ="24樓301室" time="31"></curriculum_info>

例如一個名為curriculum_info的對象在courses.xml中;

 

二、在XMAL中調用該對象中的數據

在頂部(window下)需有如下代碼:

 1     <Window.Resources>
 2         <XmlDataProvider x:Key="course-info" Source="courses.xml" XPath="/curriculum_info/*"></XmlDataProvider>
 3         <DataTemplate x:Key="showcourse">
 4             <TextBlock Text="{Binding XPath=class_name}"></TextBlock>
 5         </DataTemplate>
 6         <Style TargetType="{x:Type TextBlock}" >
 7             <Setter Property="FontStyle" Value="Italic" />
 8             <Setter Property="FontFamily" Value="Trebuchet MS" />
 9             <Setter Property="FontSize" Value="12" />
10         </Style>
11     </Window.Resources>
 
對數據源的調用放在<Window.Resources>中。
  通過<XmlDataProvider>標記,實現對XML數據源的調用,x:Key是資源的引用的ID,Source是XML資源文件路徑,XPath指出XML文件內部數據存放的路徑。
 
在<Window.Resources>還有另外兩個標記,分別是DataTemplate和Style。
  DataTemplate中放置一個TextBlock用來,將TextBlock的Text屬性與XML數據源中的class_name標記綁定,也就說用來顯示XML文件中的class_name。
  Style是WPF的樣式。在這里,我們指定了本Window中,所有的TextBlock都采用Style中定義的樣式。
 
接下來就可以實現綁定了:
1 <TextBlock Grid.Column="1" Grid.Row="3">Course:<TextBlock DataContext="{Binding Source={StaticResource course-info}}" Text="{Binding XPath=class_name}" Width="26"/> </TextBlock>

那么這個TextBlock中的Text就與XML中的curriculum_info的class_name綁定了;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM