【发布时间】:2011-08-16 01:00:59
【问题描述】:
我有以下对象结构: AllProducts 对象是 ProductGroups 对象的 ObsCol,ProductGroup 是 LineItems 的 ObsCol,LineItems 对象是 LineItem 对象的 ObsCol
这就是我将它们放在嵌套列表框中的方式。
产品组 1
|订单项 1 |
|订单项 2 |
|订单项 3 |
产品组 2
| LineItem1 |
|订单项 2 |
|订单项 3 |
|订单项 4 |
这是我的列表框:
<ItemsControl x:Name="lstProductGroups" ItemsSource="{Binding}" ItemTemplate="{StaticResource ProductListItem}">
</ItemsControl>
和数据模板:
<DataTemplate x:Key="LineItemsTemplate">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding ImageUrl}" Height="50" Width="50" />
<StackPanel Orientation="Vertical" Width="350">
<TextBlock HorizontalAlignment="Left" TextWrapping="NoWrap" Text="{Binding Name}"/>
<TextBlock TextWrapping="Wrap" Text="{Binding Description}" HorizontalAlignment="Left"/>
</StackPanel>
<TextBlock TextWrapping="Wrap" Text="{Binding Price}"/>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="ProductListItem">
<StackPanel x:Name="GridDataHolder">
<TextBlock TextWrapping="Wrap" FontWeight="Bold" Text="{Binding GroupName}" VerticalAlignment="Top" d:LayoutOverrides="Width"/>
<ListBox x:Name="lstLineItems" ItemsSource="{Binding LineItems}" Width="500" ItemTemplate="{StaticResource LineItemsTemplate}" SelectionMode="{Binding IsListType, Converter={StaticResource BoolToSelectionModeConverter}}" ItemContainerStyle="{StaticResource LineItemsStyle}">
</ListBox>
</StackPanel>
</DataTemplate>
我想要完成的是能够在每个列表框中选择项目并将所选项目绑定到我的 VM 中名为“SelectedCartItems”的 LineItem 的 ObsCol。有什么想法吗?
【问题讨论】:
标签: silverlight binding listbox nested observablecollection