Пример #1
0
            private async void RichEditBoxContextFlyout_Opened(object sender, object e)
            {
                ToolTipService.SetToolTip(_core, null);

                string SelectionText = _core.Document.Selection.Text;

                startPos = _core.Document.Selection.StartPosition;
                var CanCopy = _core.Document.CanCopy();

                if (CanCopy && SelectionText != string.Empty)
                {
                    CutButton.Visibility  = Visibility.Visible;
                    CopyButton.Visibility = Visibility.Visible;
                }
                else
                {
                    CutButton.Visibility  = Visibility.Collapsed;
                    CopyButton.Visibility = Visibility.Collapsed;
                }

                var CanPaste = _core.Document.CanPaste();

                if (CanPaste)
                {
                    PasteButton.Visibility = Visibility.Visible;
                }
                else
                {
                    PasteButton.Visibility = Visibility.Collapsed;
                }

                if (CopyButton.Visibility == Visibility.Visible || PasteButton.Visibility == Visibility.Visible)
                {
                    CutCopyPasteSeparator.Visibility = Visibility.Visible;
                }
                else
                {
                    CutCopyPasteSeparator.Visibility = Visibility.Collapsed;
                }

                UppercaseButton.Visibility = Visibility.Collapsed;
                LowercaseButton.Visibility = Visibility.Collapsed;

                if (!string.IsNullOrEmpty(SelectionText))
                {
                    SearchSeparator.Visibility = Visibility.Visible;
                    SearchButton.Visibility    = Visibility.Visible;

                    if (_core.Document.Selection.CharacterFormat.BackgroundColor ==
                        Colors.LimeGreen)
                    {
                        HighlightButton.Visibility       = Visibility.Collapsed;
                        RemoveHighlightButton.Visibility = Visibility.Visible;
                    }
                    else
                    {
                        HighlightButton.Visibility       = Visibility.Visible;
                        RemoveHighlightButton.Visibility = Visibility.Collapsed;
                    }

                    if (Uri.IsWellFormedUriString(SelectionText, UriKind.Absolute) && SelectionText.Contains("."))
                    {
                        Uri    selectionUri     = new Uri(SelectionText);
                        string uriWithoutScheme = selectionUri.Host + selectionUri.PathAndQuery + selectionUri.Fragment;
                        if (uriWithoutScheme.Length > 20)
                        {
                            SearchButton.Text = string.Format("Go to \"{0}...\"",
                                                              uriWithoutScheme.Substring(0, 20));
                        }
                        else
                        {
                            SearchButton.Text = string.Format("Go to \"{0}\"",
                                                              uriWithoutScheme.TrimEnd('/'));
                        }
                    }
                    else if (SelectionText.Length > 20)
                    {
                        SearchButton.Text = string.Format("Search \"{0}...\" in The Web",
                                                          SelectionText.Substring(0, 20).Replace("\r", " "));
                    }
                    else
                    {
                        SearchButton.Text = string.Format("Search \"{0}\" in The Web",
                                                          SelectionText.Replace("\r", " "));
                    }

                    if (!(_core.CoreText.Selection.IsNumbersOnly() || string.IsNullOrWhiteSpace(SelectionText)))
                    {
                        UppercaseButton.Visibility = Visibility.Visible;
                        LowercaseButton.Visibility = Visibility.Visible;
                    }
                }
                else
                {
                    SearchSeparator.Visibility = Visibility.Collapsed;
                    SearchButton.Visibility    = Visibility.Collapsed;

                    HighlightButton.Visibility       = Visibility.Collapsed;
                    RemoveHighlightButton.Visibility = Visibility.Collapsed;
                }

                if (HighlightButton.Visibility == Visibility.Visible || RemoveHighlightButton.Visibility == Visibility.Visible)
                {
                    HighlightSeparator.Visibility = Visibility.Visible;
                }
                else
                {
                    HighlightSeparator.Visibility = Visibility.Collapsed;
                }

                if (UppercaseButton.Visibility == Visibility.Visible || LowercaseButton.Visibility == Visibility.Visible)
                {
                    CaseSeparator.Visibility = Visibility.Visible;
                }
                else
                {
                    CaseSeparator.Visibility = Visibility.Collapsed;
                }

                _core.KeyDown          += _core_KeyDown;
                _core.SelectionChanged += _core_SelectionChanged;

                if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 3))
                {
                    if (Target is UCCommandBar)
                    {
                        _core.PreventKeyboardDisplayOnProgrammaticFocus = true;
                    }
                }
                else
                {
                    _core.PreventKeyboardDisplayOnProgrammaticFocus = true;

                    if (InputPane.GetForCurrentView().Visible)
                    {
                        InputPane.GetForCurrentView().TryHide();
                    }
                }

                await Task.Delay(50);

                _core.Focus(FocusState.Programmatic);
            }
Пример #2
0
            private async void RichEditBoxContextFlyout_Opened(object sender, object e)
            {
                string SelectionText = _core.Document.Selection.Text;

                if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 3))
                {
                    if (Target == _core)
                    {
                        ApiResources.Vibrate(60);
                    }
                }

                var CanCopy = _core.Document.CanCopy();

                if (CanCopy && SelectionText != string.Empty)
                {
                    CutButton.Visibility  = Visibility.Visible;
                    CopyButton.Visibility = Visibility.Visible;
                }
                else
                {
                    CutButton.Visibility  = Visibility.Collapsed;
                    CopyButton.Visibility = Visibility.Collapsed;
                }

                var CanPaste = _core.Document.CanPaste();

                if (CanPaste)
                {
                    PasteButton.Visibility = Visibility.Visible;
                }
                else
                {
                    PasteButton.Visibility = Visibility.Collapsed;
                }

                if (CopyButton.Visibility == Visibility.Visible || PasteButton.Visibility == Visibility.Visible)
                {
                    CutCopyPasteSeparator.Visibility = Visibility.Visible;
                }
                else
                {
                    CutCopyPasteSeparator.Visibility = Visibility.Collapsed;
                }

                ToolTipService.SetToolTip(_core, null);

                if (SelectionText != string.Empty)
                {
                    SearchSeparator.Visibility = Visibility.Visible;
                    SearchButton.Visibility    = Visibility.Visible;

                    if (_core.Document.Selection.CharacterFormat.BackgroundColor ==
                        Colors.LimeGreen)
                    {
                        HighlightButton.Visibility       = Visibility.Collapsed;
                        RemoveHighlightButton.Visibility = Visibility.Visible;
                    }
                    else
                    {
                        HighlightButton.Visibility       = Visibility.Visible;
                        RemoveHighlightButton.Visibility = Visibility.Collapsed;
                    }

                    if (Uri.IsWellFormedUriString(SelectionText, UriKind.Absolute) && SelectionText.Contains("."))
                    {
                        Uri    selectionUri     = new Uri(SelectionText);
                        string uriWithoutScheme = selectionUri.Host + selectionUri.PathAndQuery + selectionUri.Fragment;
                        if (uriWithoutScheme.Length > 20)
                        {
                            SearchButton.Text = string.Format("Go to \"{0}...\"",
                                                              uriWithoutScheme.Substring(0, 20));
                        }
                        else
                        {
                            SearchButton.Text = string.Format("Go to \"{0}\"",
                                                              uriWithoutScheme.TrimEnd('/'));
                        }
                    }
                    else if (SelectionText.Length > 20)
                    {
                        SearchButton.Text = string.Format("Search \"{0}...\" in The Web",
                                                          SelectionText.Substring(0, 20).Replace("\r", " "));
                    }
                    else
                    {
                        SearchButton.Text = string.Format("Search \"{0}\" in The Web",
                                                          SelectionText.Replace("\r", " "));
                    }

                    UppercaseButton.Visibility = Visibility.Visible;
                    LowercaseButton.Visibility = Visibility.Visible;
                }
                else
                {
                    SearchSeparator.Visibility = Visibility.Collapsed;
                    SearchButton.Visibility    = Visibility.Collapsed;

                    UppercaseButton.Visibility = Visibility.Collapsed;
                    LowercaseButton.Visibility = Visibility.Collapsed;

                    HighlightButton.Visibility       = Visibility.Collapsed;
                    RemoveHighlightButton.Visibility = Visibility.Collapsed;
                }

                if (HighlightButton.Visibility == Visibility.Visible || RemoveHighlightButton.Visibility == Visibility.Visible)
                {
                    HighlightSeparator.Visibility = Visibility.Visible;
                }
                else
                {
                    HighlightSeparator.Visibility = Visibility.Collapsed;
                }

                if (UppercaseButton.Visibility == Visibility.Visible || LowercaseButton.Visibility == Visibility.Visible)
                {
                    CaseSeparator.Visibility = Visibility.Visible;
                }
                else
                {
                    CaseSeparator.Visibility = Visibility.Collapsed;
                }

                await Task.Delay(100);

                _core.Focus(FocusState.Programmatic);
            }