一个控件的多个ItemSource
本文关键字:控件 ItemSource 一个 | 更新日期: 2023-09-27 18:18:01
我有一个列表框#1下面有多个文本块项模板:
<ListBox Grid.Row="2"
x:Name="ItemListBox"
ItemsSource="{Binding Files}"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"
AlternationCount="2"
SelectedItem="{Binding FileSelectedItem, Mode=TwoWay}"
BorderThickness="1">
我有另一个listbox #2,我用它来拖放文件,它绑定到一个存储数据的可观察集合。
<ListBox ItemsSource="{Binding Path=DropFiles}"
Grid.Row="5" Name="DropBox"
AllowDrop="True"
BorderThickness="1"
AlternationCount="2"
DragOver="DropBox_DragOver"
DragLeave="DropBox_DragLeave"
Drop="DropBox_Drop" >
</ListBox>
我想在一个列表框上实现一切,所以基本上摆脱了第二个列表框,我可以将DragOver, DragLeave和Drop属性移动到第一个列表框,但我有第二个列表框的DropFiles ItemsSource属性的问题!任何回复或建议赞赏,谢谢!
您只能将ItemsSource
绑定到单个集合。
我建议在视图模型上添加一个属性来公开这个合并的集合,并在绑定中使用该属性。
否则,如果Files
和DropFiles
是同一项上的属性,您可以创建一个转换器来接受您的VM类并产生合并集合。这将取决于你产生一个可观察的集合