我在下面有一个列表框#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">
我有另一个列表框#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属于第二个列表框的问题列表框!任何回复或建议表示赞赏,谢谢!
答案 0 :(得分:2)
您只能将ItemsSource
绑定到单个集合。
我建议在视图模型上添加一个公开此合并集合的属性,并在绑定中使用该属性。
否则,如果Files
和DropFiles
是同一项目的属性,则可以创建转换器以接受VM类并生成合并集合。你可以得到一个可观察的集合。