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

C# 需要简单的帮助来开发c算法吗,c#,wpf,C#,Wpf,我用的是WPF。在我的窗口中有一个数据网格,它与可观察的集合绑定。此集合包含有关房间退房的数据。因此,还有一个窗口必须将服务集合添加到数据网格>>使用服务名称创建新集合,并用价格填充单元格 必须在idcolumn==示例的行上设置此价格。我想这一定很容易,但我这两天都在试。。所以我的问题是:是否可以将数据网格与两个集合绑定 如何添加集合新属性?类似于:另一个窗口中的公共字符串ServiceName{get;set;} 请提供一些解决此问题的好方法不,您不能同时将一个属性绑定到两个对象。 通常情况

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

必须在idcolumn==示例的行上设置此价格。我想这一定很容易,但我这两天都在试。。所以我的问题是:是否可以将数据网格与两个集合绑定

如何添加集合新属性?类似于:另一个窗口中的公共字符串ServiceName{get;set;}


请提供一些解决此问题的好方法

不,您不能同时将一个属性绑定到两个对象。
通常情况下,您会将两个数据对象聚合到一个Helperobject中,并在observable集合中使用这些对象。

不,您不能同时将一个属性绑定到两个对象。
通常,您会将两个数据对象聚合为一个Helperobject,并使用可观察集合中的对象。

要绑定到多个集合,请使用CompositeCollection

下面是一个列表框示例:

<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上找到此示例和更多信息:


另一个需要提及的重要问题是CompositeCollection没有实现IEditableCollectionView,因此如果需要编辑数据网格,您不能在自己没有实现IEditableCollectionView的情况下使用CompositeCollection。

要绑定到多个集合,请使用CompositeCollection

下面是一个列表框示例:

<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上找到此示例和更多信息:


另一个需要提及的重要问题是CompositeCollection没有实现IEditableCollectionView,因此如果您需要编辑数据网格,您不能在自己没有实现IEditableCollectionView的情况下使用CompositeCollection。

为什么需要将ServiceName添加为集合的属性?为什么不直接绑定到文本框呢?顺便说一句,您是在视图的代码隐藏中使用MVVM还是模型类?为什么需要添加ServiceName作为集合的属性?为什么不直接绑定到文本框呢?顺便说一句,您是在视图的代码隐藏中使用MVVM还是模型类?您可以使用CompositeCollection进行绑定。一个月前,我在尝试为菜单建立一个集合时发现了这一点。请看我上面的答案。好的,谢谢-我想我需要更多地了解你的框架;祝你好运,还有WPF。我发誓我每天都会看到一些新的东西。真的-作为一个无所不能的人,你很难保持领先。你可以使用CompositeCollection来绑定。一个月前,我在尝试为菜单建立一个集合时发现了这一点。请看我上面的答案。好的,谢谢-我想我需要更多地了解你的框架;祝你好运,还有WPF。我发誓我每天都会看到一些新的东西。真的-作为一个你无所不能的人,很难保持领先!WPF让我大吃一惊!哇,很好,但我的尝试失败了。当我绑定来自代码隐藏的集合时,网格仅显示第二个coll。这是xaml:Hmmm…请用收藏中存储的类更新您的问题好吗?我也不知道!WPF让我大吃一惊!哇,很好,但我的尝试失败了。当我绑定来自代码隐藏的集合时,网格仅显示第二个coll。这是xaml:Hmmm…请用您的集合中存储的类更新您的问题好吗?