【WPF】ドラッグ&ドロップでファイル操作

WPF

①ツールボックスから ListBox を選択して配置

②プロパティ -> 共通 -> AllowDropにチェック

③ドロップボックスの名前を入力

④コード1:リスト変数を作成

       private ObservableCollection<string> List1;
        public MainWindow()
        {
            InitializeComponent();
            List1 = new ObservableCollection<string>();
            ListBox1.ItemsSource = List1;
        }

⑤イベントハンドラから任意の関数名を入力、Enterで作成された関数内にコード記述

        private void Drop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                var fileFullPass = (string[])e.Data.GetData(DataFormats.FileDrop);
                foreach (var fullPass in fileFullPass)
                {
                    List1.Add(fullPass);
                }
            }
        }

        private void DragOver(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))

                e.Effects = DragDropEffects.All;


        }

⑥string型変数でオブジェクトをとるとドロップしたファイルのフルパスが取得されます。

   private void Button_Click(object sender, RoutedEventArgs e)
    {
        string test = List1[0];
        MessageBox.Show(test);
    }

コメント

タイトルとURLをコピーしました