public AnimationDrawer() { InitializeComponent(); _handler = new AnimatedRepeaterHandler <Animation>(Repeater, ScrollingHost); _handler.DownloadFile = DownloadFile; _zoomer = new ZoomableRepeaterHandler(Repeater); _zoomer.Opening = _handler.UnloadVisibleItems; _zoomer.Closing = _handler.ThrottleVisibleItems; _zoomer.DownloadFile = fileId => ViewModel.ProtoService.DownloadFile(fileId, 32); _zoomer.GetEmojisAsync = fileId => ViewModel.ProtoService.SendAsync(new GetStickerEmojis(new InputFileId(fileId))); ElementCompositionPreview.GetElementVisual(this).Clip = Window.Current.Compositor.CreateInsetClip(); var shadow = DropShadowEx.Attach(Separator, 20, 0.25f); Separator.SizeChanged += (s, args) => { shadow.Size = args.NewSize.ToVector2(); }; var observable = Observable.FromEventPattern <TextChangedEventArgs>(FieldAnimations, "TextChanged"); var throttled = observable.Throttle(TimeSpan.FromMilliseconds(Constants.TypingTimeout)).ObserveOnDispatcher().Subscribe(x => { ViewModel.FindAnimations(FieldAnimations.Text); //var items = ViewModel.Stickers.SearchStickers; //if (items != null && string.Equals(FieldStickers.Text, items.Query)) //{ // await items.LoadMoreItemsAsync(1); // await items.LoadMoreItemsAsync(2); //} }); }
public AnimationDrawer() { InitializeComponent(); _handler = new AnimatedListHandler(List); _zoomer = new ZoomableListHandler(List); _zoomer.Opening = _handler.UnloadVisibleItems; _zoomer.Closing = _handler.ThrottleVisibleItems; _zoomer.DownloadFile = fileId => ViewModel.ProtoService.DownloadFile(fileId, 32); _zoomer.SessionId = () => ViewModel.ProtoService.SessionId; ElementCompositionPreview.GetElementVisual(this).Clip = Window.Current.Compositor.CreateInsetClip(); var header = DropShadowEx.Attach(Separator); header.Clip = header.Compositor.CreateInsetClip(0, 48, 0, -48); var debouncer = new EventDebouncer <TextChangedEventArgs>(Constants.TypingTimeout, handler => FieldAnimations.TextChanged += new TextChangedEventHandler(handler)); debouncer.Invoked += (s, args) => { ViewModel.Search(FieldAnimations.Text); }; }
public AnimationDrawer() { InitializeComponent(); _handler = new AnimatedRepeaterHandler <Animation>(Repeater, ScrollingHost); _handler.DownloadFile = DownloadFile; // Only for Desktop or Continuum if (ApiInfo.IsFullExperience || Windows.UI.ViewManagement.UIViewSettings.GetForCurrentView().UserInteractionMode == Windows.UI.ViewManagement.UserInteractionMode.Mouse) { _zoomer = new ZoomableRepeaterHandler(Repeater); _zoomer.Opening = _handler.UnloadVisibleItems; _zoomer.Closing = _handler.ThrottleVisibleItems; _zoomer.DownloadFile = fileId => ViewModel.ProtoService.DownloadFile(fileId, 32); _zoomer.GetEmojisAsync = fileId => ViewModel.ProtoService.SendAsync(new GetStickerEmojis(new InputFileId(fileId))); } ElementCompositionPreview.GetElementVisual(this).Clip = Window.Current.Compositor.CreateInsetClip(); var shadow = DropShadowEx.Attach(Separator, 20, 0.25f); shadow.RelativeSizeAdjustment = Vector2.One; var observable = Observable.FromEventPattern <TextChangedEventArgs>(FieldAnimations, "TextChanged"); var throttled = observable.Throttle(TimeSpan.FromMilliseconds(Constants.TypingTimeout)).ObserveOnDispatcher().Subscribe(x => { ViewModel.FindAnimations(FieldAnimations.Text); //var items = ViewModel.Stickers.SearchStickers; //if (items != null && string.Equals(FieldStickers.Text, items.Query)) //{ // await items.LoadMoreItemsAsync(1); // await items.LoadMoreItemsAsync(2); //} }); }
public StickerDrawer() { InitializeComponent(); ElementCompositionPreview.GetElementVisual(this).Clip = Window.Current.Compositor.CreateInsetClip(); _handler = new AnimatedListHandler <StickerViewModel>(Stickers); _handler.DownloadFile = (id, sticker) => { DownloadFile(_stickers, id, sticker); }; _zoomer = new ZoomableListHandler(Stickers); _zoomer.Opening = _handler.UnloadVisibleItems; _zoomer.Closing = _handler.ThrottleVisibleItems; _zoomer.DownloadFile = fileId => ViewModel.ProtoService.DownloadFile(fileId, 32); //_toolbarHandler = new AnimatedStickerHandler<StickerSetViewModel>(Toolbar); var shadow = DropShadowEx.Attach(Separator, 20, 0.25f); shadow.RelativeSizeAdjustment = Vector2.One; var observable = Observable.FromEventPattern <TextChangedEventArgs>(FieldStickers, "TextChanged"); var throttled = observable.Throttle(TimeSpan.FromMilliseconds(Constants.TypingTimeout)).ObserveOnDispatcher().Subscribe(async x => { var items = ViewModel.SearchStickers; if (items != null && string.Equals(FieldStickers.Text, items.Query)) { await items.LoadMoreItemsAsync(1); await items.LoadMoreItemsAsync(2); } }); }
public EmojiDrawer() { this.InitializeComponent(); ElementCompositionPreview.GetElementVisual(this).Clip = Window.Current.Compositor.CreateInsetClip(); var shadow = DropShadowEx.Attach(Separator, 20, 0.25f); shadow.RelativeSizeAdjustment = Vector2.One; ToolbarContainer.SizeChanged += (s, args) => { if (Toolbar.ItemsPanelRoot is ItemsWrapGrid wrapGrid) { wrapGrid.ItemWidth = Math.Floor(ToolbarContainer.ActualWidth / 10); SkinDefault.Width = wrapGrid.ItemWidth; SkinDefault.MinWidth = SkinDefault.Width; SkinFitz12.Width = SkinDefault.Width; SkinFitz12.MinWidth = SkinDefault.Width; SkinFitz3.Width = SkinDefault.Width; SkinFitz3.MinWidth = SkinDefault.Width; SkinFitz4.Width = SkinDefault.Width; SkinFitz4.MinWidth = SkinDefault.Width; SkinFitz5.Width = SkinDefault.Width; SkinFitz5.MinWidth = SkinDefault.Width; SkinFitz6.Width = SkinDefault.Width; SkinFitz6.MinWidth = SkinDefault.Width; } }; _typeToItemHashSetMapping["EmojiSkinTemplate"] = new HashSet <SelectorItem>(); _typeToItemHashSetMapping["EmojiTemplate"] = new HashSet <SelectorItem>(); }
public PaymentFormPage() { InitializeComponent(); DataContext = TLContainer.Current.Resolve <PaymentFormViewModel>(); DropShadowEx.Attach(BuyShadow); }
public RootPage(NavigationService service) { if (SettingsService.Current.Appearance.RequestedTheme != ElementTheme.Default) { RequestedTheme = SettingsService.Current.Appearance.GetCalculatedElementTheme(); } InitializeComponent(); _lifetime = TLContainer.Current.Lifetime; _navigationViewSelected = RootDestination.Chats; _navigationViewItems = new MvxObservableCollection <object> { //RootDestination.Separator, RootDestination.NewChat, RootDestination.NewSecretChat, RootDestination.NewChannel, RootDestination.Separator, RootDestination.Chats, RootDestination.Contacts, RootDestination.Calls, RootDestination.Settings, //RootDestination.Separator, //RootDestination.Wallet, RootDestination.Separator, RootDestination.SavedMessages, RootDestination.News }; NavigationViewList.ItemsSource = _navigationViewItems; service.Frame.Navigating += OnNavigating; service.Frame.Navigated += OnNavigated; _navigationService = service; InitializeTitleBar(); InitializeNavigation(service.Frame); InitializeLocalization(); Navigation.Content = _navigationService.Frame; var shadow = DropShadowEx.Attach(ThemeShadow, 20, 0.25f); ThemeShadow.SizeChanged += (s, args) => { shadow.Size = args.NewSize.ToVector2(); }; }
public EmojiDrawer() { this.InitializeComponent(); ElementCompositionPreview.GetElementVisual(this).Clip = Window.Current.Compositor.CreateInsetClip(); var shadow = DropShadowEx.Attach(Separator, 20, 0.25f); shadow.RelativeSizeAdjustment = Vector2.One; _typeToItemHashSetMapping["EmojiSkinTemplate"] = new HashSet <SelectorItem>(); _typeToItemHashSetMapping["EmojiTemplate"] = new HashSet <SelectorItem>(); }
public EmojiDrawer() { InitializeComponent(); ElementCompositionPreview.GetElementVisual(this).Clip = Window.Current.Compositor.CreateInsetClip(); DropShadowEx.Attach(Separator); _typeToItemHashSetMapping["EmojiSkinTemplate"] = new HashSet <SelectorItem>(); _typeToItemHashSetMapping["EmojiTemplate"] = new HashSet <SelectorItem>(); UpdateView(); }
public EmojisView() { this.InitializeComponent(); var shadow = DropShadowEx.Attach(Separator, 20, 0.25f); Separator.SizeChanged += (s, args) => { shadow.Size = args.NewSize.ToVector2(); }; _typeToItemHashSetMapping["EmojiSkinTemplate"] = new HashSet <SelectorItem>(); _typeToItemHashSetMapping["EmojiTemplate"] = new HashSet <SelectorItem>(); }
public StickerPanel() { InitializeComponent(); DataContext = new object(); var shadow1 = DropShadowEx.Attach(HeaderSeparator, 20, 0.25f); HeaderSeparator.SizeChanged += (s, args) => { shadow1.Size = args.NewSize.ToVector2(); }; var protoService = TLContainer.Current.Resolve <IProtoService>(); AnimationsRoot.DataContext = AnimationDrawerViewModel.GetForCurrentView(protoService.SessionId); AnimationsRoot.ItemClick = Animations_ItemClick; AnimationsRoot.ItemContextRequested += (s, args) => AnimationContextRequested?.Invoke(s, args); StickersRoot.DataContext = StickerDrawerViewModel.GetForCurrentView(protoService.SessionId); StickersRoot.ItemClick = Stickers_ItemClick; StickersRoot.ItemContextRequested += (s, args) => StickerContextRequested?.Invoke(s, args); EmojisRoot.DataContext = StickersRoot.DataContext; switch (SettingsService.Current.Stickers.SelectedTab) { case StickersTab.Emoji: Pivot.SelectedIndex = 0; break; case StickersTab.Animations: Pivot.SelectedIndex = 1; break; case StickersTab.Stickers: Pivot.SelectedIndex = 2; break; } if (ApiInformation.IsPropertyPresent("Windows.UI.Xaml.UIElement", "Shadow")) { var themeShadow = new ThemeShadow(); BackgroundElement.Shadow = themeShadow; BackgroundElement.Translation += new Vector3(0, 0, 32); themeShadow.Receivers.Add(ShadowElement); } }
public EmojiDrawer() { this.InitializeComponent(); ElementCompositionPreview.GetElementVisual(this).Clip = Window.Current.Compositor.CreateInsetClip(); var shadow = DropShadowEx.Attach(Separator, 20, 0.25f); Separator.SizeChanged += (s, args) => { shadow.Size = args.NewSize.ToVector2(); }; _typeToItemHashSetMapping["EmojiSkinTemplate"] = new HashSet <SelectorItem>(); _typeToItemHashSetMapping["EmojiTemplate"] = new HashSet <SelectorItem>(); }
public StickerPanel() { InitializeComponent(); DataContext = new object(); var shadow = DropShadowEx.Attach(HeaderSeparator, 20, 0.25f); shadow.RelativeSizeAdjustment = Vector2.One; var protoService = TLContainer.Current.Resolve <IProtoService>(); AnimationsRoot.DataContext = AnimationDrawerViewModel.GetForCurrentView(protoService.SessionId); AnimationsRoot.ItemClick = Animations_ItemClick; AnimationsRoot.ItemContextRequested += (s, args) => AnimationContextRequested?.Invoke(s, args); StickersRoot.DataContext = StickerDrawerViewModel.GetForCurrentView(protoService.SessionId); StickersRoot.ItemClick = Stickers_ItemClick; StickersRoot.ItemContextRequested += (s, args) => StickerContextRequested?.Invoke(s, args); EmojisRoot.DataContext = StickersRoot.DataContext; switch (SettingsService.Current.Stickers.SelectedTab) { case StickersTab.Emoji: Pivot.SelectedIndex = 0; break; case StickersTab.Animations: Pivot.SelectedIndex = 1; break; case StickersTab.Stickers: Pivot.SelectedIndex = 2; break; } if (ApiInfo.CanUseShadow) { var themeShadow = new ThemeShadow(); BackgroundElement.Shadow = themeShadow; BackgroundElement.Translation += new Vector3(0, 0, 32); themeShadow.Receivers.Add(ShadowElement); } }
public RootPage(NavigationService service) { RequestedTheme = SettingsService.Current.Appearance.GetCalculatedElementTheme(); InitializeComponent(); _lifetime = TLContainer.Current.Lifetime; _navigationViewSelected = RootDestination.Chats; _navigationViewItems = new MvxObservableCollection <object> { RootDestination.SavedMessages, // ------------ RootDestination.Separator, // ------------ RootDestination.NewChat, RootDestination.NewSecretChat, RootDestination.NewChannel, // ------------ RootDestination.Separator, // ------------ RootDestination.Chats, RootDestination.Contacts, RootDestination.Calls, RootDestination.Settings, // ------------ RootDestination.Separator, // ------------ RootDestination.Tips, RootDestination.News }; NavigationViewList.ItemsSource = _navigationViewItems; service.Frame.Navigating += OnNavigating; service.Frame.Navigated += OnNavigated; _navigationService = service; InitializeNavigation(service.Frame); InitializeLocalization(); Navigation.Content = _navigationService.Frame; DropShadowEx.Attach(ThemeShadow); }
public IntroPage() { InitializeComponent(); _layoutVisual = ElementCompositionPreview.GetElementVisual(LayoutRoot); _timer = new DispatcherTimer(); _timer.Interval = TimeSpan.FromSeconds(3); _timer.Tick += Interact_Tick; LayoutRoot.ManipulationMode = ManipulationModes.TranslateX | ManipulationModes.TranslateRailsX | ManipulationModes.TranslateInertia; LayoutRoot.ManipulationStarted += LayoutRoot_ManipulationStarted; LayoutRoot.ManipulationDelta += LayoutRoot_ManipulationDelta; LayoutRoot.ManipulationCompleted += LayoutRoot_ManipulationCompleted; SetIndex(_selectedIndex = 0); DropShadowEx.Attach(StartShadow); }
public StickerDrawer() { InitializeComponent(); ElementCompositionPreview.GetElementVisual(this).Clip = Window.Current.Compositor.CreateInsetClip(); _handler = new AnimatedListHandler(List); _toolbarHandler = new AnimatedListHandler(Toolbar); _zoomer = new ZoomableListHandler(List); _zoomer.Opening = _handler.UnloadVisibleItems; _zoomer.Closing = _handler.ThrottleVisibleItems; _zoomer.DownloadFile = fileId => ViewModel.ProtoService.DownloadFile(fileId, 32); _zoomer.SessionId = () => ViewModel.ProtoService.SessionId; _typeToItemHashSetMapping.Add("AnimatedItemTemplate", new HashSet <SelectorItem>()); _typeToItemHashSetMapping.Add("VideoItemTemplate", new HashSet <SelectorItem>()); _typeToItemHashSetMapping.Add("ItemTemplate", new HashSet <SelectorItem>()); _typeToTemplateMapping.Add("AnimatedItemTemplate", Resources["AnimatedItemTemplate"] as DataTemplate); _typeToTemplateMapping.Add("VideoItemTemplate", Resources["VideoItemTemplate"] as DataTemplate); _typeToTemplateMapping.Add("ItemTemplate", Resources["ItemTemplate"] as DataTemplate); //_toolbarHandler = new AnimatedStickerHandler<StickerSetViewModel>(Toolbar); var header = DropShadowEx.Attach(Separator); header.Clip = header.Compositor.CreateInsetClip(0, 48, 0, -48); var debouncer = new EventDebouncer <TextChangedEventArgs>(Constants.TypingTimeout, handler => FieldStickers.TextChanged += new TextChangedEventHandler(handler)); debouncer.Invoked += async(s, args) => { var items = ViewModel.SearchStickers; if (items != null && string.Equals(FieldStickers.Text, items.Query)) { await items.LoadMoreItemsAsync(1); await items.LoadMoreItemsAsync(2); } }; }
public StickerDrawer() { InitializeComponent(); ElementCompositionPreview.GetElementVisual(this).Clip = Window.Current.Compositor.CreateInsetClip(); _handler = new AnimatedListHandler <StickerViewModel>(Stickers); _handler.DownloadFile = (id, sticker) => { DownloadFile(_stickers, id, sticker); }; _throttler = new DispatcherTimer(); _throttler.Interval = TimeSpan.FromMilliseconds(Constants.AnimatedThrottle); _throttler.Tick += (s, args) => { _throttler.Stop(); _handler.LoadVisibleItems(false); }; //_toolbarHandler = new AnimatedStickerHandler<StickerSetViewModel>(Toolbar); var shadow = DropShadowEx.Attach(Separator, 20, 0.25f); Separator.SizeChanged += (s, args) => { shadow.Size = args.NewSize.ToVector2(); }; var observable = Observable.FromEventPattern <TextChangedEventArgs>(FieldStickers, "TextChanged"); var throttled = observable.Throttle(TimeSpan.FromMilliseconds(Constants.TypingTimeout)).ObserveOnDispatcher().Subscribe(async x => { var items = ViewModel.SearchStickers; if (items != null && string.Equals(FieldStickers.Text, items.Query)) { await items.LoadMoreItemsAsync(1); await items.LoadMoreItemsAsync(2); } }); }
public EmojiDrawer() { InitializeComponent(); ElementCompositionPreview.GetElementVisual(this).Clip = Window.Current.Compositor.CreateInsetClip(); var header = DropShadowEx.Attach(Separator); header.Clip = header.Compositor.CreateInsetClip(0, 48, 0, -48); _handler = new AnimatedListHandler(List); _toolbarHandler = new AnimatedListHandler(Toolbar2); _typeToItemHashSetMapping["EmojiSkinTemplate"] = new HashSet <SelectorItem>(); _typeToItemHashSetMapping["EmojiTemplate"] = new HashSet <SelectorItem>(); _typeToItemHashSetMapping.Add("AnimatedItemTemplate", new HashSet <SelectorItem>()); _typeToItemHashSetMapping.Add("VideoItemTemplate", new HashSet <SelectorItem>()); _typeToItemHashSetMapping.Add("ItemTemplate", new HashSet <SelectorItem>()); _typeToItemHashSetMapping.Add("MoreTemplate", new HashSet <SelectorItem>()); UpdateView(); }
public StickerPanel() { InitializeComponent(); DataContext = new object(); DropShadowEx.Attach(HeaderSeparator); DropShadowEx.Attach(ShadowElement); switch (SettingsService.Current.Stickers.SelectedTab) { case StickersTab.Emoji: Pivot.SelectedIndex = 0; break; case StickersTab.Animations: Pivot.SelectedIndex = 1; break; case StickersTab.Stickers: Pivot.SelectedIndex = 2; break; } }
public StickerPanel() { InitializeComponent(); var header = DropShadowEx.Attach(HeaderSeparator); var shadow = DropShadowEx.Attach(ShadowElement); header.Clip = header.Compositor.CreateInsetClip(0, -48, 0, 48); switch (SettingsService.Current.Stickers.SelectedTab) { case StickersTab.Emoji: Pivot.SelectedIndex = 0; break; case StickersTab.Animations: Pivot.SelectedIndex = 1; break; case StickersTab.Stickers: Pivot.SelectedIndex = 2; break; } }
public StickersView() { InitializeComponent(); var shadow1 = DropShadowEx.Attach(HeaderSeparator, 20, 0.25f); var shadow2 = DropShadowEx.Attach(Separator, 20, 0.25f); HeaderSeparator.SizeChanged += (s, args) => { shadow1.Size = args.NewSize.ToVector2(); }; Separator.SizeChanged += (s, args) => { shadow2.Size = args.NewSize.ToVector2(); }; var observable = Observable.FromEventPattern <TextChangedEventArgs>(FieldStickers, "TextChanged"); var throttled = observable.Throttle(TimeSpan.FromMilliseconds(Constants.TypingTimeout)).ObserveOnDispatcher().Subscribe(async x => { var items = ViewModel.Stickers.SearchStickers; if (items != null && string.Equals(FieldStickers.Text, items.Query)) { await items.LoadMoreItemsAsync(1); await items.LoadMoreItemsAsync(2); } }); var observable2 = Observable.FromEventPattern <TextChangedEventArgs>(FieldAnimations, "TextChanged"); var throttled2 = observable2.Throttle(TimeSpan.FromMilliseconds(Constants.TypingTimeout)).ObserveOnDispatcher().Subscribe(x => { ViewModel.Stickers.FindAnimations(FieldAnimations.Text); //var items = ViewModel.Stickers.SearchStickers; //if (items != null && string.Equals(FieldStickers.Text, items.Query)) //{ // await items.LoadMoreItemsAsync(1); // await items.LoadMoreItemsAsync(2); //} }); switch (SettingsService.Current.Stickers.SelectedTab) { case Services.Settings.StickersTab.Emoji: Pivot.SelectedIndex = 0; break; case Services.Settings.StickersTab.Animations: Pivot.SelectedIndex = 1; break; case Services.Settings.StickersTab.Stickers: Pivot.SelectedIndex = 2; break; } if (ApiInformation.IsPropertyPresent("Windows.UI.Xaml.UIElement", "Shadow")) { var themeShadow = new ThemeShadow(); BackgroundElement.Shadow = themeShadow; BackgroundElement.Translation += new Vector3(0, 0, 32); themeShadow.Receivers.Add(ShadowElement); } }
private void PurchaseShadow_Loaded(object sender, RoutedEventArgs e) { DropShadowEx.Attach(PurchaseShadow); }
public VoIPPage(IProtoService protoService, ICacheService cacheService, IEventAggregator aggregator, IVoipService voipService) { InitializeComponent(); _protoService = protoService; _cacheService = cacheService; _aggregator = aggregator; _service = voipService; _durationTimer = new DispatcherTimer(); _durationTimer.Interval = TimeSpan.FromMilliseconds(500); _durationTimer.Tick += DurationTimer_Tick; _debugTimer = new DispatcherTimer(); _debugTimer.Interval = TimeSpan.FromMilliseconds(500); _debugTimer.Tick += DebugTimer_Tick; #region Reset LargeEmoji0.Source = null; LargeEmoji1.Source = null; LargeEmoji2.Source = null; LargeEmoji3.Source = null; #endregion #region Composition _descriptionVisual = ElementCompositionPreview.GetElementVisual(DescriptionLabel); _largeVisual = ElementCompositionPreview.GetElementVisual(LargePanel); _compositor = _largeVisual.Compositor; var graphicsEffect = new GaussianBlurEffect { Name = "Blur", BlurAmount = 0, BorderMode = EffectBorderMode.Hard, Source = new CompositionEffectSourceParameter("backdrop") }; var effectFactory = _compositor.CreateEffectFactory(graphicsEffect, new[] { "Blur.BlurAmount" }); var effectBrush = effectFactory.CreateBrush(); var backdrop = _compositor.CreateBackdropBrush(); effectBrush.SetSourceParameter("backdrop", backdrop); _blurBrush = effectBrush; _blurVisual = _compositor.CreateSpriteVisual(); _blurVisual.Brush = _blurBrush; // Why does this crashes due to an access violation exception on certain devices? ElementCompositionPreview.SetElementChildVisual(BlurPanel, _blurVisual); var viewfinder = DropShadowEx.Attach(ViewfinderShadow, 20, 0.25f); viewfinder.RelativeSizeAdjustment = Vector2.One; #endregion //var titleBar = ApplicationView.GetForCurrentView().TitleBar; //titleBar.ButtonBackgroundColor = Colors.Transparent; //titleBar.ButtonForegroundColor = Colors.White; //titleBar.ButtonInactiveBackgroundColor = Colors.Transparent; //titleBar.ButtonInactiveForegroundColor = Colors.White; //Window.Current.SetTitleBar(BlurPanel); if (voipService.Call != null) { Update(voipService.Call, voipService.CallStarted); } if (voipService.Manager != null) { Connect(voipService.Manager); } Connect(voipService.Capturer); _viewfinder = ElementCompositionPreview.GetElementVisual(ViewfinderPanel); ViewfinderPanel.PointerPressed += Viewfinder_PointerPressed; ViewfinderPanel.PointerMoved += Viewfinder_PointerMoved; ViewfinderPanel.PointerReleased += Viewfinder_PointerReleased; }
public PaymentFormPage() { InitializeComponent(); DropShadowEx.Attach(BuyShadow); }