Sto lavorando con WPF e sto cercando di creare una casella di testo drag'n'drop.
In questa casella di testo voglio ottenere il corpo di una e-mail che trascino da Outlook.
Il codice funziona ma penso di aver bisogno di qualcosa per "resettare" la causa ActiveExplorer ora mostra solo l'ultima email "NEW" che trascino nella casella di testo.Ottieni corpo dall'email di Outlook [Drag'n'Drop]
Esempio:
drag-mail 1 -> Casella di testo - Spettacoli e-mail 1
drag-mail 2 -> Casella di testo - Spettacoli e-mail 2
drag-mail 1 -> Casella di testo - Spettacoli l'e-mail 2 e l'e-mail 1 non verranno visualizzati perché sono già presenti in ActiveExplorer e mostreranno l'e-mail 2.
Spero che la mia domanda sia un po 'chiara per te ..
Grazie in anticipo!
codice XAML:
<TextBox
Name="myTextbox"
AllowDrop="True"
PreviewDragEnter="email_DragEnter"
PreviewDrop="email_Drop" />
codice XAML dietro:
private void email_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Copy;
}
private void email_Drop(object sender, DragEventArgs e)
{
Outlook.ApplicationClass oApp = new Outlook.ApplicationClass();
Outlook.Explorer oExplorer = oApp.ActiveExplorer();
Outlook.Selection oSelection = oExplorer.Selection;
foreach (object item in oSelection)
{
Outlook.MailItem mi = (Outlook.MailItem)item;
myTextbox.Text = mi.Body.ToString();
}
}
Questo funziona bene , ma qual è il modo di riavere 1 email? Quindi solo l'ultima mail che hai trascinato? – jefsmi
Siamo spiacenti, non sono sicuro di aver capito correttamente ma se trascino un elemento, vedo solo il suo testo. Se seleziono più, tutto il loro testo arriva a richtextbox1 –
E trascina in questo ordine: Posta 1 -> dopo quella casella di testo libera e trascina un Altro messaggio -> dopo quella casella di testo libera e trascina nuovamente Mail 1 di quello che mostra la seconda posta trascinata e non Mail 1 – jefsmi