• 9.siverlight中将集合绑定到UI元素


    适用于silverlight 3、4、5

    当需要显示列表或者批量显示数据的时候,集合绑定的使用就显得特别方便。下面的例子,我们将把一个数据集合绑定到ListBox中。

    1. 新建项目,为silverlight项目添加一个类:Class1.cs

    View Code
    using System;
    
    using System.Net;
    
    using System.Windows;
    
    using System.Windows.Controls;
    
    using System.Windows.Documents;
    
    using System.Windows.Ink;
    
    using System.Windows.Input;
    
    using System.Windows.Media;
    
    using System.Windows.Media.Animation;
    
    using System.Windows.Shapes;
    
    namespace SilverlightApplication3
    
    {
    
    public class Class1
    
    {
    
    public int ActivityId { get; set; }
    
    public double Amount { get; set; }
    
    public string Beneficiary { get; set; }
    
    public DateTime ActivityDate { get; set; }
    
    public string ActivityDescription { get; set; }
    
    }
    
    }


    2. 在MainPage.xaml.cs中添加一个Class1的 ObservableCollection

    private System.Collections.ObjectModel.ObservableCollection<Class1> Class1Collection;

    3. 在Mainpage.xaml.cs中实例化Class1Collection集合

    View Code
    private void InitializeActivitiesCollection()
    
    {
    
    accountClass1Collection = new ObservableCollection<Class1>();//实例化动态数据集合
    
    Class1 C1 = new Class1(); //实例化一个类
    
    C1.ActivityId = 1;
    
    C1.Amount = -33;
    
    C1.Beneficiary = "Smith Woodworking Shop London";
    
    C1.ActivityDescription = "Paid by credit card";
    
    C1.ActivityDate = new DateTime(2009, 9, 1);
    
    accountClass1Collection.Add(C1);//将该类的实例添加到集合当中
    
    Class1 C2 = new Class1();
    
    C2.ActivityId = 2;
    
    C2.Amount = 1000;
    
    C2.Beneficiary = "ABC Infrastructure";
    
    C2.ActivityDescription = "Paycheck September2009";
    
    C2.ActivityDate = new DateTime(2009, 9, 1);
    
    accountClass1Collection.Add(C2);
    
    }

    4. 在MainPage的构造函数中添加对实例化方法的调用

    public MainPage()
    
    {
    
    InitializeComponent();
    
    InitializeClass1Collection();
    
    }

    5.在MainPage.Xaml文件中添加一个listBox控件

    View Code
    <UserControl x:Class="SilverlightApplication3.MainPage"
    
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    
    mc:Ignorable="d"
    
    d:DesignHeight="300" d:DesignWidth="400">
    
    <Grid x:Name="LayoutRoot" Background="White">
    
    <ListBox x:Name="AccountActivityListBox"
    
    Width="600" HorizontalAlignment="Left" Margin="0,0,-200,0">
    
    <ListBox.ItemTemplate>
    
    <DataTemplate>
    
    <Grid>
    
    <Grid.RowDefinitions>
    
    <RowDefinition></RowDefinition>
    
    <RowDefinition></RowDefinition>
    
    </Grid.RowDefinitions>
    
    <Grid.ColumnDefinitions>
    
    <ColumnDefinition Width="150" />
    
    <ColumnDefinition Width="330" />
    
    <ColumnDefinition Width="100" />
    
    </Grid.ColumnDefinitions>
    
    <TextBlock
    
    Grid.Row="0"
    
    Grid.Column="0"
    
    Grid.RowSpan="2"
    
    Text="{Binding ActivityDate}">
    
    </TextBlock>
    
    <TextBlock
    
    Grid.Row="0"
    
    Grid.Column="1"
    
    Text="{Binding Beneficiary}"
    
    FontWeight="Bold">
    
    </TextBlock>
    
    <TextBlock
    
    Grid.Row="0"
    
    Grid.Column="2"
    
    HorizontalAlignment="Right"
    
    Text="{Binding Amount}">
    
    </TextBlock>
    
    <TextBlock
    
    Grid.Row="1"
    
    Grid.Column="1"
    
    Text="{Binding ActivityDescription}">
    
    </TextBlock>
    
    </Grid>
    
    </DataTemplate>
    
    </ListBox.ItemTemplate>
    
    </ListBox>
    
    </Grid>
    
    </UserControl>

    5. 将集合绑定到ListBox

    this.AccountActivityListBox.ItemsSource = accountClass1Collection;

    运行效果如下:

    clip_image002

  • 相关阅读:
    201571030330&201571030307《小学四则运算练习软件软件需求说明》结对项目报告
    201571030330 & 201571030307《小学四则运算练习软件》结对项目报告
    201571030307 四则远算
    个人学习总结
    201571030301 /201571030302《小学四则运算练习软件软件需求说明》结对项目报告
    201571030301/201571030302《小学生四则运算练习软件》结对项目报告
    201571030301 四则运算
    初读思考《构建之法-现代软件工程》
    个人学期总结
    201571030313/201571030312《小学四则运算练习软件软件需求说明》结对项目报告
  • 原文地址:https://www.cnblogs.com/yuanjiedao/p/2937189.html
Copyright © 2020-2023  润新知