美文网首页
5.控件与布局《深入浅出WPF》

5.控件与布局《深入浅出WPF》

作者: 大捕猎店 | 来源:发表于2017-06-07 14:42 被阅读0次

5.3.3 ItemsControl

先来说明一下代码:在listBox里面放了几个checkbox和button,说明ListBoxI的Item不仅支持类型相同的元素,还支持类型不同的元素。这是因为,Listbox的每一项都是经过“ListBoxItem”加工厂处理的,最终放入当做自己的内容--放入自己的容器内。这里通过后台代码说明了每一个条目都被ListboxItem包装过了,完全没有必要每一个条目都在xmal文件按照如下写法:

            <ListBoxItem>
                <Button x:Name="btn3" Content="按钮1"/>
            </ListBoxItem>

在实际项目中,很少像上面那样把代码写死,可以动态的绑定ListBox。把数据源赋给ListBox的ItemsSource,通过DisplayMemberPath属性来显示string类型的数据源里面的字段条目(如果想显示复杂的数据的话,要使用DataTemplate,具体在模板再记录,在此知道有这么一回事就好了);通过SelectedItem和SelectionChanged来观察选中的项。下面的例子实现在listbox上绑定指定数据,然后弹出选中人的年龄。直接给出代码:
xaml

<Window x:Class="WPF测试demo.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
    <StackPanel Background="LightBlue">
        <TextBox Margin="5"></TextBox>
        <TextBox Margin="5"></TextBox>
        <TextBox Margin="5"></TextBox>
        <Button Content="OK" Margin="5"></Button>
        <ListBox x:Name="listBoxEmplyee" Height="100"/>
    </StackPanel>
</Window>

cs

    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
            InitData();
        }

        private void InitData()
        {
            List<Emplyee> emplist = new List<Emplyee>()
           {
                new Emplyee(){Age = 30,Name = "唐三三",Id = 1} ,
                new Emplyee(){Age = 50,Name = "刘德华",Id = 2} ,
                new Emplyee(){Age = 40,Name = "赵云",Id = 3}
           };

            this.listBoxEmplyee.DisplayMemberPath = "Name";       //显示的字段
            this.listBoxEmplyee.SelectedValuePath = "Id";
            this.listBoxEmplyee.ItemsSource = emplist;
        }
    }

    public class Emplyee
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
    }
ListBox绑定

相关文章

网友评论

      本文标题:5.控件与布局《深入浅出WPF》

      本文链接:https://www.haomeiwen.com/subject/tqlgfxtx.html