добавьте пункт меню для установки по умолчанию контекстного меню

Пожалуйста, удалите инъекцию JwtHelper в конструктор и создайте объект для JwtHelper внутри вашего canActivate следующим образом:

export class AuthGuard implements CanActivate {
  constructor(private router: Router) {
  }
  canActivate() {
    let jwtHelper: JwtHelper = new JwtHelper();

    const token = localStorage.getItem('jwt');

    if (token && !this.jwtHelper.isTokenExpired(token)) {
      return true;
    }
    this.router.navigate(['login']);
    return false;
  }
}
9
задан g t 10 February 2016 в 13:55
поделиться

1 ответ

Это не слишком хитро для перереализации контекстного меню RichTextBox с написанием предложений, Сокращения, Вставки, и т.д.

Поднимите трубку открытие контекстного меню следующим образом:

AddHandler(RichTextBox.ContextMenuOpeningEvent, new ContextMenuEventHandler(RichTextBox_ContextMenuOpening), true);

В сборке обработчика событий контекстное меню, как Вам нужно. Можно воссоздать существующие пункты меню контекстного меню со следующим:

private IList<MenuItem> GetSpellingSuggestions()
{
    List<MenuItem> spellingSuggestions = new List();
    SpellingError spellingError = myRichTextBox.GetSpellingError(myRichTextBox.CaretPosition);
    if (spellingError != null)
    {
        foreach (string str in spellingError.Suggestions)
        {
            MenuItem mi = new MenuItem();
            mi.Header = str;
            mi.FontWeight = FontWeights.Bold;
            mi.Command = EditingCommands.CorrectSpellingError;
            mi.CommandParameter = str;
            mi.CommandTarget = myRichTextBox;
            spellingSuggestions.Add(mi);
        }
    }
    return spellingSuggestions;
}

private IList<MenuItem> GetStandardCommands()
{
    List<MenuItem> standardCommands = new List();

    MenuItem item = new MenuItem();
    item.Command = ApplicationCommands.Cut;
    standardCommands.Add(item);

    item = new MenuItem();
    item.Command = ApplicationCommands.Copy;
    standardCommands.Add(item);

    item = new MenuItem();
    item.Command = ApplicationCommands.Paste;
    standardCommands.Add(item);

    return standardCommands;
}

Если существуют орфографические ошибки, можно создать, Игнорируют Все с:

MenuItem ignoreAllMI = new MenuItem();
ignoreAllMI.Header = "Ignore All";
ignoreAllMI.Command = EditingCommands.IgnoreSpellingError;
ignoreAllMI.CommandTarget = textBox;
newContextMenu.Items.Add(ignoreAllMI);

Добавьте разделители как требуется. Добавьте тех, которые к объектам нового контекстного меню и затем добавляют Ваш новейший MenuItems.

Я собираюсь продолжать искать способ получить фактическое контекстное меню, хотя, поскольку это относится к чему-то, что я буду продолжать работать в ближайшем будущем.

17
ответ дан 4 December 2019 в 12:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: