Проблема с копированием данных из изображения в WPF IMage - PullRequest
0 голосов
/ 01 мая 2020

Я ПЫТАЮСЬ создать приложение, которое использует функцию перетаскивания.

Я занимаюсь этим каждый день на прошлой неделе и не могу получить четкий ответ, который могу понять.

Что я в основном хочу сделать, так это взять изображение из проводника и скопировать его данные в WPF Image control.

Я сделал несколько перечисленных здесь способов, но, похоже, ничего не работает.

Я не уверен, если это невозможно, или я делаю что-то не так.

Я МОГУ получить данные из изображения, но Я НЕ МОГУ преобразовать их в формат, который может использовать элемент управления Image использовать.

private void TestDrop_Drop(object sender, DragEventArgs e)
    {

        if (e.Data.GetDataPresent(DataFormats.FileDrop))
        {

            byte[] files = (byte[])e.Data.GetData(DataFormats.FileDrop);


        }

    }

Я использую код, который обычно предлагается по похожим темам, однако я просто не могу перенести указанные данные в элемент управления Image и даже не могу преобразовать их вправо Тип.

Есть предложения?

1 Ответ

0 голосов
/ 01 мая 2020

Когда вы отбрасываете набор файлов, e.Data.GetData(DataFormats.FileDrop) возвращает массив путей к файлам:

private void TestDrop_Drop(object sender, DragEventArgs e)
{
    if (e.Data.GetDataPresent(DataFormats.FileDrop) &&
        e.Data.GetData(DataFormats.FileDrop) is string[] files &&
        files.Length > 0)
    {
        // load first image file
        image.Source = new BitmapImage(new Uri(files[0]));
    }
}
...