private void InitializeUIFromInputParams() { PostTextBox.Text = _inputData.Text ?? ""; if (_inputData.Image != null) { var bi = new BitmapImage() { CreateOptions = BitmapCreateOptions.None }; bi.SetSource(_inputData.Image); PreviewImage.Source = bi; _inputData.Image.Position = 0; _uploadingStatus = UploadingStatus.NotStarted; UploadImage(); } else { _uploadingStatus = UploadingStatus.Completed; } if (_inputData.ExternalLink != null) { LinkDescription.Text = _inputData.ExternalLink.Title ?? ""; LinkDescription.Visibility = string.IsNullOrEmpty(LinkDescription.Text) ? Visibility.Collapsed : Visibility.Visible; if (!string.IsNullOrWhiteSpace(_inputData.ExternalLink.Title) && !string.IsNullOrWhiteSpace(_inputData.ExternalLink.Subtitle)) { LinkDomain.Text = _inputData.ExternalLink.Subtitle; } LinkDomain.Visibility = string.IsNullOrEmpty(LinkDomain.Text) ? Visibility.Collapsed : Visibility.Visible; } }
private void UploadImage() { if (_uploadingStatus == UploadingStatus.Completed || _uploadingStatus == UploadingStatus.InProgress) { return; } _uploadingStatus = UploadingStatus.InProgress; UpdateState(); VKUploadRequest.CreatePhotoWallUploadRequest().Dispatch( _inputData.Image, (progress) => { VKExecute.ExecuteOnUIThread(() => { ProgressUpload.Value = progress; }); }, (res) => { VKExecute.ExecuteOnUIThread(() => { if (res.ResultCode == VKResultCode.Succeeded) { _uploadingStatus = UploadingStatus.Completed; _uploadedPhoto = res.Data; } else { _uploadingStatus = UploadingStatus.Failed; } UpdateState(); }); }); }