彩票走势图

WPF绑定各种数据源之xml数据源

转帖|其它|编辑:郝浩|2011-09-07 14:55:30.000|阅读 1080 次

概述:本文主要介绍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&gt; 

  下面是绑定的代码。此时需要注意,原来用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>  

     &nbsp;         <GridViewColumn Header="编号" 

DisplayMemberBinding="{Binding XPath=ID}"  Width="100" />  

               <GridViewColumn&nbsp;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@pclwef.cn

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP