Tell me what the error is. I want to use drag & drop to insert a picture, but after dragging, I get an Image object with the Source property set to null
XAML
<Grid.ColumnDefinitions> <ColumnDefinition Width="300"></ColumnDefinition> <ColumnDefinition Width="*"></ColumnDefinition> </Grid.ColumnDefinitions> <ScrollViewer Grid.RowSpan="2"> <StackPanel CanVerticallyScroll="True"> <Image Source="Resources/part1.jpg" Width="280" Height="121" Margin="0,10,0,10" MouseDown="Image_MouseDown" Stretch="UniformToFill"/> <Image Source="Resources/part2.jpg" Width="280" Height="121" Margin="0,10,0,10" MouseDown="Image_MouseDown" Stretch="UniformToFill"/> <Image Source="Resources/part3.jpg" Width="280" Height="121" Margin="0,10,0,10" MouseDown="Image_MouseDown" Stretch="UniformToFill"/> <Image Source="Resources/part4.jpg" Width="280" Height="121" Margin="0,10,0,10" MouseDown="Image_MouseDown" Stretch="UniformToFill"/> <Image Source="Resources/part5.jpg" Width="280" Height="121" Margin="0,10,0,10" MouseDown="Image_MouseDown" Stretch="UniformToFill"/> <Image Source="Resources/part6.jpg" Width="280" Height="121" Margin="0,10,0,10" MouseDown="Image_MouseDown" Stretch="UniformToFill"/> </StackPanel> </ScrollViewer> <Canvas Grid.Column="1" Margin="0,0,0,0" > <Image Source="Resources/part1.jpg" Width="280" Height="120" Drop="Image_Drop" DragEnter="Image_DragEnter" AllowDrop="True" Stretch="UniformToFill" Canvas.Left="156" Canvas.Top="51"/> <Image Source="Resources/part2.jpg" Width="280" Height="120" Drop="Image_Drop" AllowDrop="True" Stretch="UniformToFill" Canvas.Left="436" Canvas.Top="51"/> <Image Source="Resources/part3.jpg" Width="280" Height="120" Drop="Image_Drop" AllowDrop="True" Stretch="UniformToFill" Canvas.Left="156" Canvas.Top="170"/> <Image Source="Resources/part4.jpg" Width="280" Height="120" Drop="Image_Drop" AllowDrop="True" Stretch="UniformToFill" Canvas.Left="436" Canvas.Top="170"/> <Image Source="Resources/part5.jpg" Width="280" Height="120" Drop="Image_Drop" AllowDrop="True" Stretch="UniformToFill" Canvas.Left="156" Canvas.Top="288"/> <Image Source="Resources/part6.jpg" Width="280" Height="120" Drop="Image_Drop" AllowDrop="True" Stretch="UniformToFill" Canvas.Left="436" Canvas.Top="288"/> </Canvas> </Grid> C #
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Image_Drop(object sender, DragEventArgs e) { ((Image) sender).Source = e.Source as ImageSource; } private void Image_MouseDown(object sender, MouseButtonEventArgs e) { // sender β ΠΎΠ±ΡΠ΅ΠΊΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅. Image lbl = sender as Image; // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ. // ΠΠΎΠΏΠΈΡΡΠ΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΌΠ΅ΡΠΊΠΈ Drop. // 1 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ: ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ. // 2 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ: ΠΠ°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ. // 3 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ: ΠΡΡΠ΅ΠΊΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ΅. DragDrop.DoDragDrop(lbl, lbl.Source, DragDropEffects.Copy); } private void Image_DragEnter(object sender, DragEventArgs e) { e.Effects = DragDropEffects.Copy; } } link to git https://github.com/Sechik/Puzzle
