您的位置:首页 > 其它

WPF(初识DataTemplate)

2013-04-08 19:16 330 查看
<Window x:Class="TestOfBindingItemsControl.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel x:Name="stackPanel" Background="LightBlue" >
<TextBlock Text="StudentID:" Margin="5" />
<TextBox x:Name="textBoxId" Margin="5" />
<TextBlock Text="StudentList:" FontWeight="Bold"
Margin="5" />
<ListBox x:Name="listBoxStudents"
Height="110"
Margin="5"
>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" >
<TextBlock Text="{Binding Path=Id}" Width="30" />
<TextBlock Text="{Binding Path=Name}" Width="60" />
<TextBlock Text="{Binding Path=Age}" Width="30" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

</StackPanel>
</Window>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace TestOfBindingItemsControl
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();

List<Student> stuList = new List<Student>()
{
new Student(){Id = 0,Name = "Tim",Age = 29},
new Student(){Id = 1,Name = "Tom",Age = 28},
new Student(){Id = 2,Name = "Kyle",Age = 27},
new Student(){Id = 3,Name = "Tony",Age = 26},
new Student(){Id = 4,Name = "Vine",Age = 25},
new Student(){Id = 5,Name = "Mike",Age = 24}
};

// 为ListBox设置Binding
this.listBoxStudents.ItemsSource = stuList;
//this.listBoxStudents.DisplayMemberPath = "Name";

Binding binding = new Binding("SelectedItem.Id")
{
Source = this.listBoxStudents
};

this.textBoxId.SetBinding(TextBox.TextProperty, binding);
}
}

public class Student
{
public int Id { get; set; }

public string Name { get; set; }

public int Age { get; set; }
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: