zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    容器
    最大公共子串
    HTTPS复习
    进程同步算法
    Android系统机制
    【springBoot】之快速构建一个web项目
    【springBoot】之概述
    【java】之深入理解JVM
    【java】之equals和==区别
    【AMQ】之JMS Mesage structure(JMS消息结构)
  • 原文地址:https://www.cnblogs.com/yuanjiedao/p/2937189.html
Copyright © 2011-2022 走看看