private FrameworkElement ProcessVideo(TLPageBase page, TLPageBlockVideo block, IList <TLPhotoBase> photos, IList <TLDocumentBase> documents) { var video = documents.FirstOrDefault(x => x.Id == block.VideoId); if (video != null) { var galleryItem = new GalleryDocumentItem(video as TLDocument, block.Caption?.ToString()); ViewModel.Gallery.Items.Add(galleryItem); var element = new StackPanel { Style = Resources["BlockVideoStyle"] as Style }; var child = new ImageView(); child.Source = (ImageSource)DefaultPhotoConverter.Convert(video, true); child.Constraint = video; child.DataContext = galleryItem; child.Click += Image_Click; child.HorizontalAlignment = HorizontalAlignment.Center; var transferBinding = new Binding(); transferBinding.Path = new PropertyPath("IsTransferring"); transferBinding.Source = video; var transfer = new TransferButton(); transfer.Completed += (s, args) => Image_Click(child, null); transfer.Transferable = video; transfer.Style = Application.Current.Resources["MediaTransferButtonStyle"] as Style; transfer.SetBinding(TransferButton.IsTransferringProperty, transferBinding); var progressBinding = new Binding(); progressBinding.Path = new PropertyPath("Progress"); progressBinding.Source = video; var progress = new ProgressBarRing(); progress.Background = new SolidColorBrush(Colors.Transparent); progress.Foreground = new SolidColorBrush(Colors.White); progress.IsHitTestVisible = false; progress.SetBinding(ProgressBarRing.ValueProperty, progressBinding); var grid = new Grid(); grid.Children.Add(child); grid.Children.Add(transfer); grid.Children.Add(progress); element.Children.Add(grid); var caption = ProcessText(page, block, photos, documents, true); if (caption != null) { caption.Margin = new Thickness(0, 8, 0, 0); element.Children.Add(caption); } return(element); } return(null); }
// Transfer delegate methods private void _session_Connected() { TransferButtonDelegate tBtnDel = new TransferButtonDelegate(TransferBtnDelegateFunction); TransferButton.Invoke(tBtnDel, false); Console.WriteLine("Connected"); }
private void _session_Disconnected() { TransferButtonDelegate tBtnDel = new TransferButtonDelegate(TransferBtnDelegateFunction); TransferButton.Invoke(tBtnDel, true); Console.WriteLine("Disconnected\n"); }
private FrameworkElement ProcessPhoto(TLPageBase page, TLPageBlockPhoto block, IList <TLPhotoBase> photos, IList <TLDocumentBase> documents) { var photo = photos.FirstOrDefault(x => x.Id == block.PhotoId); if (photo != null) { var galleryItem = new GalleryPhotoItem(photo as TLPhoto, block.Caption?.ToString()); ViewModel.Gallery.Items.Add(galleryItem); var element = new StackPanel { Style = Resources["BlockPhotoStyle"] as Style }; var child = new ImageView(); child.Source = (ImageSource)DefaultPhotoConverter.Convert(photo, true); child.Constraint = photo; child.DataContext = galleryItem; child.Click += Image_Click; child.HorizontalAlignment = HorizontalAlignment.Center; var transferBinding = new Binding(); transferBinding.Path = new PropertyPath("IsTransferring"); transferBinding.Source = photo; var progressBinding = new Binding(); progressBinding.Path = new PropertyPath("Progress"); progressBinding.Source = photo; var transfer = new TransferButton(); transfer.Completed += (s, args) => Image_Click(child, null); transfer.Transferable = photo; transfer.Style = Application.Current.Resources["MediaTransferButtonStyle"] as Style; transfer.SetBinding(TransferButton.IsTransferringProperty, transferBinding); transfer.SetBinding(TransferButton.ProgressProperty, progressBinding); var grid = new Grid(); grid.Children.Add(child); grid.Children.Add(transfer); element.Children.Add(grid); var caption = ProcessText(page, block, photos, documents, true); if (caption != null) { caption.Margin = new Thickness(0, 8, 0, 0); element.Children.Add(caption); } return(element); } return(null); }
public override void ViewDidLoad() { base.ViewDidLoad(); Button0.SetCommand(_viewModel.Button0Action); Button1.SetCommand(_viewModel.Button1Action); Button2.SetCommand(_viewModel.Button2Action); Button3.SetCommand(_viewModel.Button3Action); Button4.SetCommand(_viewModel.Button4Action); Button5.SetCommand(_viewModel.Button5Action); Button6.SetCommand(_viewModel.Button6Action); Button7.SetCommand(_viewModel.Button7Action); Button8.SetCommand(_viewModel.Button8Action); Button9.SetCommand(_viewModel.Button9Action); LeftButton.SetCommand(_viewModel.LeftButtonAction); CommaButton.SetCommand(_viewModel.CommaButtonAction); RightButton.SetCommand(_viewModel.RightButtonAction); AddRecordButton.SetCommand(_viewModel.AddRecordAction); DeleteButton.SetCommand(_viewModel.DeleteButtonAction); IncomeButton.SetCommand(_viewModel.IncomeButtonAction); ExpensesButton.SetCommand(_viewModel.ExpensesButtonAction); TransferButton.SetCommand(_viewModel.TransferButtonAction); _bindings.Add(this.SetBinding(() => _viewModel.SignText, () => SignLabel.Text)); _bindings.Add(this.SetBinding(() => _viewModel.LeftButtonText, () => LeftButtonText)); _bindings.Add(this.SetBinding(() => _viewModel.RightButtonText, () => RightButtonText)); _bindings.Add(this.SetBinding(() => _viewModel.AmountLabelText, () => AmountLabel.Text)); _bindings.Add(this.SetBinding(() => _viewModel.IncomeButtonColor, () => IncomeButton.BackgroundColor).ConvertSourceToTarget(x => x.ToNative())); _bindings.Add(this.SetBinding(() => _viewModel.TransButtonColor, () => TransferButton.BackgroundColor).ConvertSourceToTarget(x => x.ToNative())); _bindings.Add(this.SetBinding(() => _viewModel.ExpensesButtonColor, () => ExpensesButton.BackgroundColor).ConvertSourceToTarget(x => x.ToNative())); HolderView.ApplyStyle(_viewModel.MainStyling); TemplatesButton.ApplyStyle(_viewModel.MainStyling); RightButton.ApplyStyle(_viewModel.MainStyling); LeftButton.ApplyStyle(_viewModel.MainStyling); MiddleImageView.ApplyStyle(_viewModel.MainStyling); }
private FrameworkElement GetPhoto(KeyValuePair <TLMessage, GroupedMessagePosition> position, GroupedMessages groupedMessages, double left, double top) { var margin = 1; var width = 320d; var height = 420d; var element = new ContentControl { Content = position.Key, ContentTemplateSelector = App.Current.Resources["MediaTemplateSelector"] as DataTemplateSelector, HorizontalContentAlignment = HorizontalAlignment.Stretch, VerticalContentAlignment = VerticalAlignment.Stretch }; element.DataContext = position.Key; element.Width = position.Value.Width / 800d * width - margin * 2; element.Height = height * position.Value.Height - margin * 2; element.Margin = new Thickness(left + margin, top + margin, margin, margin); element.HorizontalAlignment = HorizontalAlignment.Left; element.VerticalAlignment = VerticalAlignment.Top; return(element); var photo = position.Key.GetPhoto(); var transferBinding = new Binding(); transferBinding.Path = new PropertyPath("IsTransferring"); transferBinding.Source = photo; var progressBinding = new Binding(); progressBinding.Path = new PropertyPath("Progress"); progressBinding.Source = photo; var child = new ImageView(); child.DataContext = position.Key; child.Source = (ImageSource)DefaultPhotoConverter.Convert(photo, true); child.Click += Click; child.Stretch = Stretch.UniformToFill; child.HorizontalContentAlignment = HorizontalAlignment.Center; child.VerticalContentAlignment = VerticalAlignment.Center; var transfer = new TransferButton(); transfer.DataContext = position.Key; transfer.Completed += Completed; transfer.Transferable = photo; transfer.Style = Application.Current.Resources["MediaTransferButtonStyle"] as Style; transfer.SetBinding(TransferButton.IsTransferringProperty, transferBinding); transfer.SetBinding(TransferButton.ProgressProperty, progressBinding); var grid = new Grid(); grid.Name = "Media"; grid.DataContext = position.Key; grid.Width = position.Value.Width / 800d * width - margin * 2; grid.Height = height * position.Value.Height - margin * 2; grid.Margin = new Thickness(left + margin, top + margin, margin, margin); grid.HorizontalAlignment = HorizontalAlignment.Left; grid.VerticalAlignment = VerticalAlignment.Top; grid.Children.Add(child); grid.Children.Add(transfer); return(grid); }