Files
Disco/Disco.Silverlight.AttachmentUpload/Views/File.xaml.vb
T
2013-02-28 17:15:46 +11:00

63 lines
1.8 KiB
VB.net

Partial Public Class File
Inherits Page
Public Sub New()
InitializeComponent()
End Sub
Private _FileWindow As FileWindow
Private _ProcessFile As IO.FileInfo
Private _ProcessFiles As Queue(Of IO.FileInfo)
'Executes when the user navigates to this page.
Protected Overrides Sub OnNavigatedTo(ByVal e As System.Windows.Navigation.NavigationEventArgs)
_ProcessFiles = New Queue(Of IO.FileInfo)
End Sub
Private Sub ButtonBrowseForFile_Click(sender As Object, e As System.Windows.RoutedEventArgs) Handles ButtonBrowseForFile.Click
Dim ofd As New OpenFileDialog() With {.Multiselect = True}
If ofd.ShowDialog() Then
For Each f In ofd.Files
_ProcessFiles.Enqueue(f)
Next
StartProcessing()
End If
End Sub
Private Sub StartProcessing()
If _ProcessFiles.Count > 0 Then
_ProcessFile = _ProcessFiles.Dequeue
_FileWindow = New FileWindow(_ProcessFile)
AddHandler _FileWindow.Closed, AddressOf FileWindow_Closed
_FileWindow.Show()
End If
End Sub
Private Sub FileWindow_Closed(sender As Object, e As EventArgs)
If _FileWindow.DialogResult Then
Me.IsEnabled = False
Dim fs = _FileWindow.File.OpenRead
App.MainPage.UploadAttachment(fs, _FileWindow.Filename, "unknown/unknown", _FileWindow.Comments)
Me.IsEnabled = True
End If
StartProcessing()
End Sub
Private Sub DropTarget_Drop(sender As Object, e As System.Windows.DragEventArgs) Handles DropTarget.Drop
For Each f As IO.FileInfo In e.Data.GetData(DataFormats.FileDrop)
_ProcessFiles.Enqueue(f)
Next
StartProcessing()
End Sub
End Class