Sto cercando di caricare i file tramite la funzionalità di trascinamento della selezione. Sono riuscito a completare il lavoro dell'interfaccia utente, ma ho problemi ad accedere all'oggetto che è stato rilasciato nel back-end. Sono stato in grado di afferrare l'oggetto con successo se avessi fatto dietro codice ma sto provando a prendere l'approccio MVVM.Trascina e rilascia i file MVVM con Caliburn
AttachmentView.xaml
Cal:Message.Attach="[Drop] = [SaveFile($eventArgs)]"
AttachmentViewModel.cs
public virtual async void SaveFile(DragEventArgs e)
{
var fileStream = new FileStream([File name goes here], FileMode.Open, FileAccess.Read);
}
Ho provato EventArgs, non riuscivo a trovare la proprietà oggetto file. DragEventArgs è nullo quando viene testato il codice.
Soluzione di lavoro per dietro il codice
AttachmentView.xaml.cs
private void ImagePanel_Drop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
// Note that you can have more than one file.
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
// Assuming you have one file that you care about, pass it off to whatever
// handling code you have defined.
Upload(files);
}
}
No, ma stavo solo cercando di aiutare. L'ho anche detto nel mio commento che non l'ho fatto. Hai letto quello che ho scritto? –