2 つの ObservableCollections を 1 つの ListBox にバインドする方法を知っている人はいますか? これら 2 つの ObservableCollections には両方とも、ListBox に表示するプロパティ文字列「name」があります。
ListBox の上部領域に ObservableCollection1 アイテムを表示し、ListBox の下部領域に ObservableCollection2 アイテムを表示したいのですが、その方法を教えてください。
<ListBox x:Name="m_CtrlMediaList" Grid.Column="2" AllowDrop="True" SelectionMode="Extended">
<ListBox.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection="{Binding directorys}"/>
<CollectionContainer Collection="{Binding files}"/>
</CompositeCollection>
</ListBox.ItemsSource>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding name, Mode=OneWay}" FontWeight="Bold" FontSize="14"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
データは次のようになります: class ElementFile { ... string name (get;set;} ...
}
class ElementDirectory
{
...
string name (get;set;}
...
public ObservableCollection<ElementDirectory> directorys { get; set; }
public ObservableCollection<ElementFile> files { get; set; }
...
}
「名前」を表示できないのはなぜですか?