轉帖|其它|編輯:郝浩|2011-09-07 14:55:30.000|閱讀 1096 次
概述:本文主要介紹WPF綁定各種數據源之xml數據源,希望對大家有幫助。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
WPF綁定各種數據源之xml數據源,此時的XML源寫在界面了,當然也可以獨立成文件。
<Window.Resources>
<Con:BackgroundConverter x:Key="BackgroundConverter"/>
<XmlDataProvider x:Key="myPerson3">
<x:XData>
<PersonF xmlns="">
<person Name="Person1">
<ID>1</ID>
<Name>XiaoA</Name>
<Age>49</Age>
</person>
<person Name="Person2">
<ID>2</ID>
<Name>XiaoB</Name>
<Age>29</Age>
</person>
<person Name="Person3">
<ID>3</ID>
<Name>XiaoC</Name>
<Age>103</Age>
</person>
<person Name="Person4">
<ID>4</ID>
<Name>XiaoD</Name>
<Age>59</Age>
</person>
</PersonF>
</x:XData>
</XmlDataProvider>
</Window.Resources>
下面是綁定的代碼。此時需要注意,原來用Path改成了XPath,因為這是XML源,并且ItemsSource 改成 ItemsSource="{Binding Source=
{StaticResource myPerson3},XPath=/PersonF/person}"
<ListView Height="262" Margin="0,32,56,0"
ItemsSource="{Binding Source={StaticResource myPerson3},
XPath=/PersonF/person}"
VerticalAlignment="Top" Name="listView3"
HorizontalAlignment="Right" Width="310">
<ListView.View>
<GridView>
<GridViewColumn Header="編號"
DisplayMemberBinding="{Binding XPath=ID}" Width="100" />
<GridViewColumn Header="姓名"
DisplayMemberBinding="{Binding XPath=Name}" Width="100"/>
<GridViewColumn Header="年齡" Width="100">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Grid.Column="1" Text="{Binding XPath=Age}"
Foreground="{Binding XPath=Age,
Converter={StaticResource BackgroundConverter}}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
下面是值轉換
public class BackgroundConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
Color color = new Color();
int num = int.Parse(value.ToString());
if (num > 100)
color = Colors.Yellow;
else if (num < 50)
color = Colors.LightGreen;
else
color = Colors.LightPink;
return new SolidColorBrush(color);
}
public object ConvertBack(object value, Type targetType,
object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
效果圖:
2.使用外部XML數據源,只需做如下修改
<Window.Resources>
<XmlDataProvider x:Key="myPerson3" Source="/Person.xml"/>
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:博客園