Возможно, вам нужно проверить, что вы добавили новую активность в файл manifest.xml
Пример:
<activity
android:name=".className"
android:label="@string/app_name" >
</activity>
Из-за проблемы с привязкой данных к CollectionContainer
, как описано http://social.msdn.microsoft.com/Forums/vstudio/en-US/b15cbd9d-95aa-47c6-8068-7ae9f7dca88a/collectioncontainer -does-not-support-rootsource? forum = wpf Теперь я использую следующий подход:
<ListBox>
<ListBox.Resources>
<CollectionViewSource x:Key="DogCollection" Source="{Binding Dogs}"/>
<CollectionViewSource x:Key="CatCollection" Source="{Binding Cats}"/>
</ListBox.Resources>
<ListBox.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection="{Binding Source={StaticResource DogCollection}}"/>
<CollectionContainer Collection="{Binding Source={StaticResource CatCollection}}"/>
</CompositeCollection>
</ListBox.ItemsSource>
<!-- ... -->
</ListBox>
Изменить: класс CompositeCollection
не получается из FrameworkElement
и, следовательно, не имеет свойства DataContext
для поддержки привязки данных. Он будет работать, только если вы используете Binding
, предоставляя Source
. Посмотрите здесь https://stackoverflow.com/a/6446923/1254795 для получения дополнительной информации.
Попробуйте указать имя в ListBox и перечислите его DataContext в привязке:
<ListBox x:Name="myList" ItemsSource="{DynamicResource MyColl}">
<ListBox.Resources>
<CompositeCollection x:Key="MyColl">
<CollectionContainer Collection="{Binding DataContext.Dogs, Source={x:Reference myList}}"/>
<CollectionContainer Collection="{Binding DataContext.Cats, Source={x:Reference myList}}"/>
</CompositeCollection>
</ListBox.Resources>
</ListBox>
ListBox
не может быть разрешено. Я думаю, это связано с тем, что CompositeCollection
объявлен внутри DataTemplate.Resources
, а после ListBox
объявлен.
– Oliver
8 October 2013 в 10:07
CompositeCollection
в ListBox.Resources
, то как я могу ссылаться на него как ListBox.ItemsSource
?
– Oliver
8 October 2013 в 10:12
CollectionContainer
таким же образом и использовать его напрямую, вместо того, чтобы коснуться черезCollectionViewSource
? и 2) , почему я не могу объявитьCompositeCollection
как ресурс и просто привязать к объектамCollectionContainer
внутри напрямую? Что особенного вCollectionViewSource
, что он работает здесь, даже если другие типы не будут? – Peter Duniho 23 February 2016 в 01:45