public FileSendingWindow(FilePusher pusher) { this.Owner = App.Current.MainWindow; this.filePusher = pusher; this.filePusher.MustTiggerAnyFinishedEvent = true; filePusher.Finished += (s, e) => { this.Dispatcher.Invoke(() => { this.Close(); }); }; filePusher.OutputReceived += (s, e) => { if (!e.IsError) { this.OutReceived(s, e.SourceArgs); } else { this.ErrorReceived(s, e.SourceArgs); } }; InitializeComponent(); }
public void PushFile(DeviceBasicInfo targetDeivce) { Microsoft.Win32.OpenFileDialog fileDialog = new Microsoft.Win32.OpenFileDialog(); fileDialog.Reset(); fileDialog.Title = App.Current.Resources["SelecteAFile"].ToString(); fileDialog.Filter = "刷机包/压缩包文件(*.zip)|*.zip|镜像文件(*.img)|*.img|全部文件(*.*)|*.*"; fileDialog.Multiselect = false; if (fileDialog.ShowDialog() == true) { var args = new FilePusherArgs() { DevBasicInfo = targetDeivce, SourceFile = fileDialog.FileName, }; var pusher = new FilePusher(); pusher.Init(args); pusher.MustTiggerAnyFinishedEvent = true; pusher.RunAsync(); new FileSendingWindow(pusher).ShowDialog(); } else { return; } }
private void ButtonPushFileToSdcard_Click(object sender, RoutedEventArgs e) { Microsoft.Win32.OpenFileDialog fileDialog = new Microsoft.Win32.OpenFileDialog(); fileDialog.Reset(); fileDialog.Title = App.Current.Resources["SelecteAFile"].ToString(); fileDialog.Filter = "刷机包/压缩包文件(*.zip)|*.zip|镜像文件(*.img)|*.img|全部文件(*.*)|*.*"; fileDialog.Multiselect = false; if (fileDialog.ShowDialog() == true) { var args = new FilePusherArgs() { DevBasicInfo = _currentDevInfo, SourceFile = fileDialog.FileName, }; var pusher = new FilePusher(); pusher.RunAsync(args); new FileSendingWindow(pusher).ShowDialog(); } }