private void LpViewModel_UploadClickEvent(LocalProgramListViewModel local, ProgramViewModel obj) { Stream stream = default; using (var fileStream = new FileStream(System.IO.Path.Combine(local.Path, obj.Name), FileMode.Open, FileAccess.Read, FileShare.Read)) { byte[] bytes = new byte[fileStream.Length]; fileStream.Read(bytes, 0, bytes.Length); fileStream.Close(); stream = new MemoryStream(bytes); } Task.Factory.StartNew(new Action(() => { EventBus.Default.TriggerAsync(new UpLoadProgramClientEventData { FileParameter = new Common.FileParameter(stream, obj.Name), ConnectId = local.ConnectId, FileHashCode = obj.FileHash }); })); modalControl = new UpLoadLocalProgramControl(local.Path, obj.FileHash); modalControl.ProgramUploadEvent += Modal_ProgramUploadEvent; new PopupWindow(modalControl, 900, 590, "上传本地程序").ShowDialog(); modalControl = null; }
public LocalProgramListControl() { InitializeComponent(); this.DataContext = lpViewModel = new LocalProgramListViewModel(); lpViewModel.UploadClickEvent += LpViewModel_UploadClickEvent; lpViewModel.CheckedProgramEvent += CheckedLocalProgram; lpViewModel.PagePagingEvent += LpViewModel_PagePagingEvent; lpViewModel.DeleteProgramEvent += LpViewModel_DeleteProgramEvent; lpViewModel.EditProgramEvent += LpViewModel_EditProgramEvent; Loaded += LocalProgramListControl_Loaded; lpViewModel.Init(); }