• WPF入门(七)绑定一个集合


    当我完成下面的代码示例时,我乐了。我嘞个去,这不整个就是webForm么,只不过html变成了xaml。集合的绑定基本和webForm的绑定一样。先上代码:

    1     //实体 
    2     class Person 
    3     {
    4         public string Name { getset; }
    5         public int Age { getset; }
    6     }
    代码
     1 <Window x:Class="WpfAppListBinding.Window1"
     2     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     3     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     4     Title="Window1" Height="300" Width="591" Loaded="Window_Loaded">
     5     <Grid>
     6         <ListBox Margin="26,28,26,62" Name="listBox1" >
     7             <ListBox.ItemTemplate>
     8                 <DataTemplate>
     9                     <StackPanel Orientation="Vertical">
    10                         <WrapPanel>
    11                             <TextBlock  Text="{Binding Path=Name}"  />
    12                             <TextBlock > 【</TextBlock>
    13                             <TextBlock  Text="{Binding Path=Age}" />
    14                             <TextBlock ></TextBlock>
    15                         </WrapPanel>
    16                     </StackPanel>
    17                 </DataTemplate>
    18             </ListBox.ItemTemplate>
    19         </ListBox>
    20     </Grid>
    21 </Window>
    2
    代码
     1  /// <summary>
     2     /// Window1.xaml 的交互逻辑
     3     /// </summary>
     4     public partial class Window1 : Window
     5     {
     6         public Window1()
     7         {
     8             InitializeComponent();
     9         }
    10 
    11         private void Window_Loaded(object sender, RoutedEventArgs e)
    12         {
    13             List<Person> lst = GetPersonListFromDatabase();
    14             listBox1.ItemsSource = lst;
    15         }
    16 
    17         private List<Person> GetPersonListFromDatabase()
    18         {
    19             List<Person> lst = new List<Person>();
    20             for (int i = 0; i < 10; i++)
    21             {
    22                 lst.Add(new Person()
    23                 {
    24                     Name = "" + i,
    25                     Age = i * 10
    26                 });
    27             }
    28             return lst;
    29         }
    30     }
    2
     

    基本步骤是:

    1.拖一个Listbox到页面。

    2.编写ListBox内的ListBox.ItemTemplate 项模板。在模板内处理数据绑定的控件。

    3.在后台代码里指定数据源 

         List<Person> lst = GetPersonListFromDatabase();
                listBox1.ItemsSource = lst;

    F5运行。OK。。。

    不过,不过。我怎么没见到GridView? 怎么少了那么强大的控件呢。更多控件的使用我们会慢慢接触到。

    待续ing...

  • 相关阅读:
    Shiro安全框架之集成 Web(下)
    Shiro安全框架之集成 Web(中)
    Shiro安全框架之集成 Web(上)
    01背包
    巴什博弈
    斐波那契博弈
    一. 至少转最多
    平面分割类问题
    求凸包(安德鲁算法)
    GCD和exGCD
  • 原文地址:https://www.cnblogs.com/vir56k/p/1935825.html
Copyright © 2020-2023  润新知