< ScrollViewer
Background="White"
Width="800"
MinHeight="600"
VerticalScrollBarVisibility="Hidden"
HorizontalScrollBarVisibility="Auto"
AllowDrop="True">
public class MainPageViewModel : ViewModelBase
{
public MainPageViewModel()
DropCommand = new RelayCommand<DragEventArgs>(Dropped);
}
public RelayCommand<DragEventArgs> DropCommand { get; private set; }
private void Dropped(DragEventArgs e)
if (e.Data == null) return;
var files = e.Data.GetData(DataFormats.FileDrop) as FileInfo[];
if (files == null) return;
foreach (var fileInfo in files)
using (var fileStream = fileInfo.OpenRead())
var bitmapImage = new BitmapImage();
bitmapImage.SetSource(fileStream);
Images.Add(bitmapImage);
fileStream.Close();
Images = new ObservableCollection<BitmapImage>();
public ObservableCollection<BitmapImage> Images { get; private set; }
public partial class MainPage : UserControl
public MainPage()
InitializeComponent();
this.DataContext = new MainPageViewModel();
< i : Interaction.Triggers >
< i : EventTrigger
EventName="Drop">
< cmd : EventToCommand
Command="{Binding DropCommand,
Mode=OneWay}"
PassEventArgsToCommand="True"
MustToggleIsEnabledValue="True" />
</ i : EventTrigger >
</ i : Interaction.Triggers >