1.图片列表定义
图片列表使用BindingList
而不使用List
,因List
未实现绑定相关联操作,在用户改变列表时无法更改ListBox
中的内容。
工程添加System.ComponentModel;
引用来引入BindingList
。
2.XAML绑定代码
<ListBox Grid.Row="1" Name="lbImgs" VerticalAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Disabled" SelectionMode="Multiple" SelectionChanged="lbImgs_SelectionChanged" >
<ListBox.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Path=UriSource}" Width="100" Height="120" Stretch="Fill"/>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
3.删除图片
删除图片可能通过删除列表中的项来完成,示例代码:
List<BitmapImage> selItems = new List<BitmapImage>();
foreach (var item in lbImgs.SelectedItems)
{
selItems.Add((BitmapImage)item);
}
foreach (var item in selItems)
{
imgItems.Remove(item);
}