wpf如何绑定ListBox!

如题所述

示例:

<!-- XAML -->

<StackPanel>

           

    <ListBox Name="lstBox1" Height="300">

    </ListBox>

           

    <ListBox Name="lstBox2" Height="300">

        <ListBox.ItemTemplate>

            <DataTemplate>

                <StackPanel Orientation="Horizontal">

                    <TextBlock Text="{Binding Path=Name}" Width="200"/>

                    <TextBlock Text="{Binding Path=Spacing}" Width="200" TextAlignment="Right"/>

                </StackPanel>

            </DataTemplate>

        </ListBox.ItemTemplate>

    </ListBox>

           

</StackPanel>


//  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

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-21
控件名点Datasource属性,直接绑定数据源 ,例如 list1.Datasource = list(一个集合)
第2个回答  2012-12-20
ListBox.Itemsource = Source
第3个回答  2012-12-20
给我点时间,一定给你个满意的答案!

WPF教程ListBox使用CheckBox和绑定数据
在ListBox中加载图片,可以嵌套StackPanel包含Image和TextBlock,实现文本和图片的并排展示。带有复选框的ListBox则将CheckBox添加到ListBoxItems中,允许用户选择项目。数据绑定在.NET3.0之后变得复杂,但ListBox的ItemsSource属性支持将数据集合绑定到控件。多个ListBox之间的数据交换是通过绑定和事件处理实现的...

wpf如何绑定ListBox!
然后设置 ListBox.ItemsSource 属性将数据绑定到 ListBox 在数据呈现的过程中 ListBox 将自动为列表 fonts 中的每个元素分配一个 ListBoxItem 对象 由于,ListBoxItem 的默认数据模板 (DataTemplate) 为 TextBlock 所以,在不指定数据模板的情况下,将显示元素的 ToString() 方法所返回的文本 如 listBox...

WPF 入门教程ListBox使用介绍
在实际应用中,数据绑定是 ListBox 的常见用法。例如,我们可以创建一个 TodoItem 类,结合 ItemTemplate,将列表绑定到 ListBox,如使用代码隐藏文件中的 TODO 列表示例所示。通过 HorizontallyStretch 属性,可以确保项目均匀占据空间,提供更好的用户体验。ListBox 还能处理用户选择,例如,设置 SelectionMode...

请问WPF如何将多个Listbox数据绑定到一个Listbox上?
显示单个对象(第二个listbox的选中对象)的值用一个textblock就可以了么。直接将listbox的SelectedValue绑定到text属性上不就完事了。

WPF\/C#:让绘制的图形可以被选中并将信息显示在ListBox中
配置数据绑定与数据模板,实现单元格信息在ListBox中的显示。通过数据模板自定义ListBox的显示样式,解决信息重复显示问题。优化鼠标事件处理程序,确保正确选择与取消选择单元格。整合所有代码,完成绘制、信息添加、选择与显示的完整流程。本文通过示例介绍了WPF中绘制图形、添加信息、选择与显示数据的实现方法,...

WPF中如何把listBox选中的对象绑定在图片的Source上
你的意思是在listbox选中不同的图片路径,在image控件预览?可以绑定,但是要注意你选中的值是string类型的,而图片的source是BitmapImage,所以要定义一个Converter来转换。

wpf中我在每个listboxItem里都加了一个按钮,点击按钮后,如何知道点击的...
其实这个可以通过绑定父控件的属性来实现,给个Demo 前台:<Grid> <ListBox> <ListBox.Resources> <Style TargetType="{x:Type ListBoxItem}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListBoxItem}"> <Button Content="click" Margin="0,2" Width=...

c# wpf 多个textblock滚动字幕怎么实现?
可以通过使用 WPF 中的 ListBox 控件来实现您所需的滚动报警信息功能,具体步骤如下:在代码中使用 ObservableCollection 存储报警信息,并将其绑定到 ListBox 控件的 ItemsSource 属性上,如下所示:在代码中使用 DispatcherTimer 定时器,定时更新 ListBox 控件中的报警信息,以及实现报警信息的滚动效果。具...

WPF上位机自定义控件系列:列表 WxListBox
在WPF上位机的自定义控件系列中,我们特别关注了列表功能的提升,其中的 ListBox 控件经过了精心改良。首先,我们为其添加了权限管理功能,这使得控件在使用过程中能更好地适应不同角色的用户需求,提高了安全性。在常规操作中,开发者通常在 XAML 文件中为 ListBoxItem 设计模板,通过绑定内容来展示数据...

求wpf代码,鼠标移上列表某列单元格时,用tooltips展示与该单元格数据相关...
第一种做法:Datagrid绑定的是数据实体集合,每一行的dataContext是一个数据实体对象。这个对象里可以加个List<>属性,用来存放悬浮窗里展示的列表。然后可以给datagridrow或者datagridcell上添加MouseMove事件,后台获取到datagridrow或cell的datacontext。然后刷新tooltips里listbox的Itemsouce即可。第二种方法:无...

相似回答