Звучит так, как будто вы действительно хотите CompositeCollection и настроить DataContext для вашей страницы.
<Page x:Class="MyPage" DataContext="{Binding RelativeSource={RelativeSource Self}}">
<Page.Resources>
<CollectionViewSource Source="{Binding Items}" x:Key="items" />
<CollectionViewSource Source="{Binding RelatedItems}" x:Key="relatedItems" />
</Page.Resources>
<ListBox>
<ListBox.ItemsSource>
<CompositeCollection>
<CollectionContainer
Collection="{StaticResource items}" />
<CollectionContainer
Collection="{StaticResource relatedItems}" />
</CompositeCollection>
</ListBox.ItemsSource>
</ListBox>
</Page>
Код должен выглядеть примерно так:
public class MyPage : Page
{
private void Setup()
{
Items = ...;
RelatedItems = ...;
}
public static readonly DependencyProperty ItemsProperty =
DependencyProperty.Register("Items", typeof(ReadOnlyCollection<data>), typeof(MyPage),new PropertyMetadata(false));
public ReadOnlyCollection<data> Items
{
get { return (ReadOnlyCollection<data>)this.GetValue(ItemsProperty ); }
set { this.SetValue(ItemsProperty , value); }
}
public static readonly DependencyProperty RelatedItemsProperty =
DependencyProperty.Register("RelatedItems", typeof(ReadOnlyCollection<data>), typeof(MyPage),new PropertyMetadata(false));
public ReadOnlyCollection<data> RelatedItems
{
get { return (ReadOnlyCollection<data>)this.GetValue(RelatedItemsProperty ); }
set { this.SetValue(RelatedItemsProperty , value); }
}
}
Редактировать: Я вспомнил, что CollectionContainer не участвует в логическом дереве, поэтому вам нужно использовать CollectionViewSource и StaticResource.