【发布时间】:2016-06-10 10:47:47
【问题描述】:
我有一个包含对象列表的 ObservableCollection。
我想将此可观察集合绑定到 ListBox,但不是以每个对象都显示在 ListView 中的方式,而是每个对象创建一个 UserControl,该对象本身作为输入参数。
举一个类似的例子;想象一个服务器浏览器,其中每一行都是一个 UserControl,数据存储在 List/ObservableCollection 中,然后显示在前端 ListBox 中。
我的 MainWindow.xaml 中有这个 XAML 代码
<ListBox HorizontalContentAlignment="Stretch" ItemsSource="{Binding Bills}" ItemContainerStyle="{StaticResource BillStyle}">
</ListBox>
这是调用 UserControl 的样式
<Style TargetType="{x:Type ListBoxItem}" x:Key="BillStyle">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<ns:BillItem />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
在 MainWindow.xaml.cs 我有:
ObservableCollection<Bill> Bills {get;set;}
在构造函数中我只是添加了一些对象。
我希望 Bill 对象以这种方式推送到用户控件:
UserControl BillItem (Bill BindedObject)
{ ... }
但我不知道该怎么做。
【问题讨论】:
标签: c# wpf data-binding user-controls