Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2015, 19:21   #1
BlackHeart777
 
Регистрация: 06.11.2015
Сообщений: 3
По умолчанию DragAndDrop файлов Windows в WPF приложение

Здравствуйте!
Проблема с перетаскиванием файла Windows в WPF приложение. При перетаскивании файла на WrapPanel и ListBox появляется значёк запрещающий перетаскивание(перечеркнутый круг). AllowDrop включен, обработчики Drop. Вроде бы все должно работать. Но что бы не делал, не разрешает перетаскивать. Хорошо, если бы хоть обработчик срабатывал, но до него дела не доходит. Прошу помощи! Может кто сталкивался с подобной проблемой? Спасибо!

Последний раз редактировалось BlackHeart777; 06.11.2015 в 20:01. Причина: Дополнение
BlackHeart777 вне форума Ответить с цитированием
Старый 09.11.2015, 13:01   #2
Akeloya
Форумчанин
 
Регистрация: 27.01.2014
Сообщений: 115
По умолчанию

Без кода не понятно.
То, что вы разрешили перетаскивание установив AlowDrop=true еще ничего не значит. Вы это перетаскивание должны обработать, в частности проверить тип перетаскиваемых данных и принять решение как вы будете действовать дальше, а при успешном сбрасывании вы должны предпринять какое-то действие.
Исходя из вашего примера не понятно как вы собираетесь обрабатывать перетаскивание файла - полный путь в ListBox прописать, название или содержимое добавить.
Опять же, если не ошибусь драг-дроп работает внутри окна. Для разрешения принятия данных приложением ваша форма так же должна иметь AllowDrop=true.
Akeloya вне форума Ответить с цитированием
Старый 20.11.2015, 20:10   #3
BlackHeart777
 
Регистрация: 06.11.2015
Сообщений: 3
По умолчанию

Появилось еще кое-что. В решение добавил рабочий проект с DragAndDrop. Назначил запускаемым проектом. В результате DragAndDrop не работает.
BlackHeart777 вне форума Ответить с цитированием
Старый 20.11.2015, 20:17   #4
BlackHeart777
 
Регистрация: 06.11.2015
Сообщений: 3
По умолчанию

Код:
using System.Windows;
using System.Windows.Controls;

namespace ModulePictures
{
    /// <summary>
    /// Логика взаимодействия для MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void WpAddPicture_Drop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
               /* listBox1.Items.Clear();*/
                string[] DropPath = e.Data.GetData(DataFormats.FileDrop, true) as string[];
                foreach (string dropfilepath in DropPath)
                {
                    ListBoxItem listboxitem = new ListBoxItem();
                    //if (System.IO.Path.GetExtension(dropfilepath).Contains(".mp3"))
                    //{
                        listboxitem.Content = System.IO.Path.GetFileNameWithoutExtension(dropfilepath);
                        listboxitem.ToolTip = DropPath;
                        WpAddPicture.Children.Add(listboxitem); 
                    //}
                }
            }
        }
    }
}
Код:
<Window x:Class="DragMoveDrop.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="338" Width="515" WindowStyle="None" Background="{x:Null}" Foreground="{x:Null}" AllowsTransparency="True">
    <Grid Height="301" Width="494">
        <Rectangle Height="53" HorizontalAlignment="Left" Margin="12,12,0,0" Name="rectangle1" Stroke="Black" VerticalAlignment="Top" Width="479" RadiusX="9" RadiusY="9" Fill="#FF880000" MouseLeftButtonDown="rectangle1_MouseLeftButtonDown" />
        <ListBox Height="228" HorizontalAlignment="Left" Margin="12,71,0,0" Name="listBox1" VerticalAlignment="Top" Width="479" AllowDrop="True" Drop="listBox1_Drop" />
        <Label Content="DragMove and Drop Files" Height="53" HorizontalAlignment="Left" Margin="12,12,0,0" Name="label1" VerticalAlignment="Top" Foreground="#FFF2ECEC" FontSize="20" Width="479" FontWeight="Normal" MouseLeftButtonDown="label1_MouseLeftButtonDown" />
        <Button Content="X" Height="23" HorizontalAlignment="Left" Margin="459,12,0,0" Name="button1" VerticalAlignment="Top" Width="24" Click="button1_Click" />
    </Grid>
</Window>
BlackHeart777 вне форума Ответить с цитированием
Старый 24.11.2015, 07:41   #5
Akeloya
Форумчанин
 
Регистрация: 27.01.2014
Сообщений: 115
По умолчанию

Вы не код а какую-то фигню приложили.
Половины методов которые нужны вы не выложили, либо выложили разметку не от своего проекта.
http://professorweb.ru/my/WPF/base_WPF/level5/5_12.php
https://www.google.ru/webhp?sourceid...%20drop%20c%23

Изучайте. А хотите реальной помощи - проект в студию
Akeloya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить атрибуты нажатия элемента на web-странице в WPF приложение? SPKe WPF, UWP, WinRT, XAML 2 02.03.2015 21:02
WPF, удаление файлов. mixa_go WPF, UWP, WinRT, XAML 5 30.08.2011 20:07
Как загрузить Windows-приложение без Windows alexray Компоненты Delphi 4 30.04.2010 14:38
Приложение которое выводит список файлов текущего каталога и при клике на любом из файлов откроет его. LimanSSk Общие вопросы Delphi 2 18.05.2009 16:03
ListBox в C# DragandDrop MightyElephant Общие вопросы .NET 1 08.12.2008 11:04