Google наконец подвел меня.Я искал везде, о чем только мог думать, но безрезультатно.В моем проекте у меня есть элемент управления изображениями, на который я хотел бы поместить изображения и сохранить их путь к файлу в переменной, а изображение отобразить в элементе управления.
После нескольких попыток заставить его работать, я решил открыть новыйпроектировать и упростить все.Сейчас, похоже, все сводится к тому, что событие Drop не запускается на элементе управления изображением, пока оно срабатывает на элементе управления TextBlock.
Xaml:
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:VB"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="1" AllowDrop="True" Drop="TextBlock_Drop"/>
<Image AllowDrop="True" Drop="Image_Drop"/>
</Grid>
Код сзади:
Class MainWindow
Private Sub TextBlock_Drop(sender As Object, e As DragEventArgs)
MessageBox.Show("fired")
End Sub
Private Sub Image_Drop(sender As Object, e As DragEventArgs)
MessageBox.Show("fired")
End Sub
End Class
Не имеет значения тип файла.Каждый файл, брошенный в TextBlock, приводит к открытию MessageBox.Каждый файл, добавленный в Image Control, абсолютно ничего не делает.
Я понятия не имею, почему, и любые предложения будут оценены!
РЕДАКТИРОВАТЬ: Благодаря предложениям Булутая Сарача в его комментариях ниже, я обнаружил, чтодобавление файла образа в проект и ссылка на него в качестве источника для элемента управления Image устранила проблему, и теперь событие происходит правильно.Для тех, кто не хочет добавлять файл изображения по умолчанию, см. Ответ Bulutay Saraç ниже для простой и эффективной работы.