我正在使用WPF。在我的窗口上有一个数据网格,它与可观察的集合绑定。此集合包含有关房间检查的数据。因此,还有一个窗口必须将服务集合添加到数据网格>>
创建具有服务名称的新集合和具有价格的填充单元格。
此价格必须设置在id(column) == "example"
行。我认为这一定很容易,但我正在尝试这2天..所以我的问题:是否有可能将数据网格绑定到两个集合?
如何添加集合新属性?像那样:来自另一个窗口的public string ServiceName{get;set;}
。
请提出如何解决此问题的一些好事
答案 0 :(得分:7)
要绑定到多个集合,请使用CompositeCollection。
这是一个ListBox示例:
<ListBox Name="myListBox" Height="300" Width="200" Background="White">
<ListBox.ItemsSource>
<CompositeCollection>
<CollectionContainer
Collection="{Binding Source={StaticResource GreekGodsData}}" />
<CollectionContainer
Collection="{Binding Source={StaticResource GreekHeroesData}}" />
<ListBoxItem Foreground="Red">Other Listbox Item 1</ListBoxItem>
<ListBoxItem Foreground="Red">Other Listbox Item 2</ListBoxItem>
</CompositeCollection>
</ListBox.ItemsSource>
</ListBox>
此示例和更多信息可在MSDN上找到:http://msdn.microsoft.com/en-us/library/system.windows.data.compositecollection.aspx。
另一个重要的要点是CompositeCollection 没有实现IEditableCollectionView 所以如果你需要编辑数据网格,你不能在没有自己实现IEditableCollectionView的情况下使用CompositeCollection。
答案 1 :(得分:0)
不,你不能同时将属性绑定到两个东西。 通常,您会将两个数据对象聚合到一个Helperobject中,并在observable集合中使用它们。