//--------------------------------------------------------Constructor:----------------------------------------------------------------\\ #region --Constructors-- #endregion //--------------------------------------------------------Set-, Get- Methods:---------------------------------------------------------\\ #region --Set-, Get- Methods-- #endregion //--------------------------------------------------------Misc Methods:---------------------------------------------------------------\\ #region --Misc Methods (Public)-- public async Task UpdateViewAsync(DependencyPropertyChangedEventArgs args) { if (args.NewValue is SpeechBubbleContentControlContext newValue) { SpeechBubbleViewModel = newValue; await LoadImageAsync(); } else { SpeechBubbleViewModel = null; } }
//--------------------------------------------------------Set-, Get- Methods:---------------------------------------------------------\\ #region --Set-, Get- Methods-- #endregion //--------------------------------------------------------Misc Methods:---------------------------------------------------------------\\ #region --Misc Methods (Public)-- public void UpdateView(DependencyPropertyChangedEventArgs args) { if (args.OldValue is SpeechBubbleContentControlContext oldValue) { SpeechBubbleViewModel.MODEL.Message.Message.image.PropertyChanged -= OnImagePropertyChanged; } if (args.NewValue is SpeechBubbleContentControlContext newValue) { Debug.Assert(newValue.MODEL.Message.Message.isImage); Debug.Assert(!(newValue.MODEL.Message.Message.image is null)); SpeechBubbleViewModel = newValue; SpeechBubbleViewModel.MODEL.Message.Message.image.PropertyChanged += OnImagePropertyChanged; LoadImageProperties(SpeechBubbleViewModel.MODEL.Message.Message.image); } else { SpeechBubbleViewModel = null; LoadImageProperties(null); } }
/// <summary> /// Tries to open the current image URL with the default web browser. /// </summary> /// <returns>Returns true on success.</returns> public async Task <bool> OpenImageUrlWithDefaultBrowserAsync(SpeechBubbleContentControlContext speechBubbleContentViewModel) { return(await UiUtils.LaunchUriAsync(new Uri(speechBubbleContentViewModel.ChatMessageModel.Message.message))); }
/// <summary> /// Tries to open the current image URL with the default web browser. /// </summary> /// <returns>Returns true on success.</returns> public IAsyncOperation <bool> OpenImageUrlWithDefaultBrowserAsync(SpeechBubbleContentControlContext speechBubbleContentViewModel) { return(UiUtils.LaunchUriAsync(new Uri(speechBubbleContentViewModel.MODEL.Message.Message.message))); }