WPF - Трябва да плъзнете текст от бележника и след това да извикате метод

Имам текстово поле в WPF приложение, в което искам да мога да плъзгам текст от външно приложение (notepad++). Манипулаторът PreviewDrop работи чудесно, но когато отида да извлека текста от текстовото поле, след като манипулаторът е извикан (myTxtBox.Text), всичко, което получавам, е празен низ. Веднага след като пусна текста в текстовото поле, искам манипулаторът да се задейства и да извика друг метод, който ще направи нещо с въвеждането на текст, което се изпуска. но стреля твърде бързо. някакви предположения?

моят метод на обработка

 private void myTxtBox_Drop(object sender, DragEventArgs e)
 {
     string itemID = myTxtBox.Text.Trim();
 }

xaml на текстовото поле

<TextBox x:Name="myTxtBox" Height="23" Margin="5,61,5,0" TextWrapping="Wrap" VerticalAlignment="Top" Grid.ColumnSpan="1" LostFocus="btnLookup_Click" Drop="myTxtBox_Drop" KeyDown="myTxtBox_KeyDown" AllowDrop="True"  PreviewDrop="myTxtBox_Drop" />

person user1977591    schedule 08.05.2015    source източник
comment
как изобщо плъзгате от NotePad?   -  person Theodosius Von Richthofen    schedule 08.05.2015
comment
маркирайте текста и го плъзнете отгоре   -  person user1977591    schedule 08.05.2015
comment
интересно, стандартният бележник изглежда не ви позволява да плъзгате нищо, той просто се опитва да подчертае отново. мога да го направя в Word и т.н., но бих искал да знам как вашият NotePad прави това.   -  person Theodosius Von Richthofen    schedule 08.05.2015
comment
съжалявам, че пропуснах да спомена, че използвам notepad ++   -  person user1977591    schedule 08.05.2015
comment
Изглежда, че използвате един и същ манипулатор както за предварителния преглед, така и за завършените събития, което вероятно прецаква нещата.   -  person Sean Beanland    schedule 08.05.2015
comment
@WasGoodDone Не, дори и да премахна манипулатора Drop, пак получавам същия резултат. И започнах да използвам само Drop, който никога не се задейства. Затова добавих PreviewDrop   -  person user1977591    schedule 08.05.2015


Отговори (1)


Опитайте това, за да получите изпуснатия текст:

string itemID = e.Data.GetData(DataFormats.Text).ToString().Trim();
person Theodosius Von Richthofen    schedule 08.05.2015
comment
няма проблем. спъвах се, опитвайки се да разбера как да поставя и пускам обикновен бележник хаха - person Theodosius Von Richthofen; 08.05.2015