Нужна простая помощь в разработке алгоритма C # - PullRequest
1 голос
/ 17 августа 2011

Я использую WPF.На моем окне есть сетка данных, связывание которой с наблюдаемой коллекцией.Эта коллекция содержит данные о проверке номеров.Таким образом, есть также одно окно, которое должно добавить коллекцию услуг в сетку данных >> создать новую коллекцию с названием услуги и заполнить ячейку ценой.

Эта цена должна быть указана в строке, где id(column) == "example".Я думаю, что это должно быть очень легко, но я пытаюсь это 2 дня .. поэтому мой вопрос: можно ли связать сетку данных с двумя коллекциями?

Как добавить коллекцию в новое свойство?Вот так: public string ServiceName{get;set;} из другого окна.

Пожалуйста, посоветуйте что-нибудь хорошее, как решить эту проблему

Ответы [ 2 ]

7 голосов
/ 17 августа 2011

Для привязки к нескольким коллекциям используйте 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 , поэтому, если вам нужно отредактировать сетку данных, вы не можете использовать CompositeCollection без реализации IEditableCollectionView самостоятельно.

0 голосов
/ 17 августа 2011

Нет, вы не можете связать свойство с двумя вещами одновременно.Обычно вы объединяете два объекта данных в один объект Helperobject и используете их в наборе наблюдаемых.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...