私はこの問題を探究し、人々は同様の質問に答えましたが、何らかの理由で私は何もできません。私はここで何かを見逃しているに違いありません...とにかく、次のコードを実行すると、TextBox_DragEnterハンドラは決して呼び出されません。しかし、xamlのTextBox要素をTextBlock要素に変更すると、それが呼び出されます。 TextBox要素から同じ動作を取得する方法はありますか?次のコードは、問題を完全に隔離する...Wpf:ドラッグアンドドロップをテキストボックス
MainWindow.xaml:
<Window x:Class="Wpf1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid Name="myGrid">
<TextBox AllowDrop="True" PreviewDragEnter="TextBox_DragEnter" PreviewDrop="TextBox_Drop" />
</Grid>
</Window>
MainWindow.xaml.cs:事前に
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Collections.ObjectModel;
namespace Wpf1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void TextBox_DragEnter(object sender, DragEventArgs e)
{
e.Effects = DragDropEffects.Copy;
}
private void TextBox_Drop(object sender, DragEventArgs e)
{
}
}
}
多くの感謝!
アンドリュー
EDIT:
だけ明確にする、私は、テキストボックスにカスタムオブジェクトをドロップできるようにしたいと思います。テキストボックスのドロップハンドラーで、私は、オブジェクト内のプロパティにテキストボックスのテキストを設定し、TextBoxのIsReadOnlyプロパティをfalseに設定するとします。 TextBoxのドラッグアンドドロップを可能にするいくつかの問題があります。
おかげリズ!それは素晴らしい作品です! – Andrew
+1ありがとう、私のために働いた... しかし、それはDragEnterイベントで設定されたエフェクトをリセットします。これを処理するための洗練された方法を見つける必要があります。 – Indigo