需要简单的帮助来开发c#算法

时间:2011-08-17 17:08:53

标签: c# wpf

我正在使用WPF。在我的窗口上有一个数据网格,它与可观察的集合绑定。此集合包含有关房间检查的数据。因此,还有一个窗口必须将服务集合添加到数据网格>>创建具有服务名称的新集合和具有价格的填充单元格。

此价格必须设置在id(column) == "example"行。我认为这一定很容易,但我正在尝试这2天..所以我的问题:是否有可能将数据网格绑定到两个集合?

如何添加集合新属性?像那样:来自另一个窗口的public string ServiceName{get;set;}

请提出如何解决此问题的一些好事

2 个答案:

答案 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集合中使用它们。