wpf如何绑定ListBox!

2025-02-27 02:00:43
推荐回答(4个)
回答1:

示例:

           

   

   

           

   

       

           

               

                   

                   

               

           

       

   

           


//  Loaded 事件代码

var fonts = Fonts.SystemFontFamilies

    .Select(s => new

    {

        Name = s.Source,

        Spacing = s.LineSpacing

    });

lstBox1.ItemsSource = fonts;

lstBox2.ItemsSource = fonts;



示例中的数据源(fonts)是由 LINQ 生成的数据列表,支持 IEnumerable 接口

其中的每个元素为"匿名类型",具有2个属性:

Name - 字体名称 string

Spacing - 行距 double

然后设置 ListBox.ItemsSource 属性将数据绑定到 ListBox


在数据呈现的过程中

ListBox 将自动为列表 fonts 中的每个元素分配一个 ListBoxItem 对象


由于,ListBoxItem 的默认数据模板 (DataTemplate) 为 TextBlock

所以,在不指定数据模板的情况下,将显示元素的 ToString() 方法所返回的文本

如 listBox1 中所示


在 lstBox2 中,为了呈现元素的属性值,定义了数据模板 DataTemplate

并将模板中 TextBlock.Text 属性分别绑定到元素的2个属性上:

Text="{Binding Path=Name}"

Text="{Binding Path=Spacing}"

这样就实现了,列表元素 -> UI对象间的数据绑定


参考MSDN:数据绑定帮助主题

http://msdn.microsoft.com/zh-cn/library/vstudio/ms752039(v=vs.100).aspx

回答2:

控件名点Datasource属性,直接绑定数据源 ,例如 list1.Datasource = list(一个集合)

回答3:

ListBox.Itemsource = Source

回答4:

给我点时间,一定给你个满意的答案!