当前位置: 首页>>代码示例>>C#>>正文


C# TextRange.TrimStart方法代码示例

本文整理汇总了C#中System.Windows.Documents.TextRange.TrimStart方法的典型用法代码示例。如果您正苦于以下问题:C# TextRange.TrimStart方法的具体用法?C# TextRange.TrimStart怎么用?C# TextRange.TrimStart使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Windows.Documents.TextRange的用法示例。


在下文中一共展示了TextRange.TrimStart方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: richTextBox_PreviewKeyUp

 private void richTextBox_PreviewKeyUp(object sender, KeyEventArgs e)
 {
     if (((e.Key != Key.Up) && (e.Key != Key.Down)) && ((e.Key != Key.Space) || !this.IgnorePrefix))
     {
         if ((e.Key == Key.Space) || (e.Key == Key.Escape))
         {
             this.HideMethodsPopup();
         }
         if (((((e.Key == Key.Escape) || (e.Key == Key.Left)) || ((e.Key == Key.Right) || (e.Key == Key.Return))) || ((this.IgnorePrefix && (e.Key == Key.D2)) && (Keyboard.Modifiers == ModifierKeys.Shift))) || this.ignoreDisplay)
         {
             this.HideMethodsPopup();
             this.ignoreDisplay = false;
         }
         else
         {
             IEnumerable<IntellisenseItem> results = null;
             string text = new TextRange(this.richTextBox.Document.ContentStart, this.richTextBox.CaretPosition).Text;
             int startIndex = text.LastIndexOf(' ');
             string input = (startIndex != -1) ? text.Substring(startIndex).TrimStart(new char[0]) : text.TrimStart(new char[0]);
             if (((input == "@") || (input == "#")) && this.IgnorePrefix)
             {
                 this.HideMethodsPopup();
                 this.ignoreDisplay = false;
             }
             else if (!(this.ExcludeMentions || (((input != "@") && !input.EndsWith("@")) && !(text == "d "))))
             {
                 results = IntellisenseDataSource.Instance(this.TwitterAccountID).MentionsCollection.GetMatches("@");
                 Rect rect = this.richTextBox.CaretPosition.GetCharacterRect(LogicalDirection.Forward);
                 this.BindResults(results, this.intellisenseListBox, rect, IntellisenseDataSource.Instance(this.TwitterAccountID).MentionsCollection.ContainsEntries, delegate
                 {
                     this.ShowMethodsPopup(rect, this.richTextBox);
                     this.intellisenseListBox.SelectedIndex = -1;
                 });
             }
             else if ((input == "#") || input.EndsWith("#"))
             {
                 results = IntellisenseDataSource.Instance(this.TwitterAccountID).TagsCollection.GetMatches("#");
                 Rect rect = GetPoint(this.richTextBox.Document.ContentStart, startIndex).GetCharacterRect(LogicalDirection.Forward);
                 this.BindResults(results, this.intellisenseListBox, rect, IntellisenseDataSource.Instance(this.TwitterAccountID).TagsCollection.ContainsEntries, delegate
                 {
                     this.ShowMethodsPopup(rect, this.richTextBox);
                     this.intellisenseListBox.SelectedIndex = -1;
                 });
             }
             else if (!(this.ExcludeMentions || (!MENTION_EXPRESSION.IsMatch(input) && !this.IgnorePrefix)))
             {
                 string currentWordExcludingPrefix = string.Empty;
                 currentWordExcludingPrefix = this.IgnorePrefix ? input : MENTION_EXPRESSION.Match(input).Groups[1].Value;
                 results = IntellisenseDataSource.Instance(this.TwitterAccountID).MentionsCollection.GetMatches(currentWordExcludingPrefix);
                 Rect rect = GetPoint(this.richTextBox.Document.ContentStart, startIndex).GetCharacterRect(LogicalDirection.Forward);
                 this.BindResults(results, this.intellisenseListBox, rect, IntellisenseDataSource.Instance(this.TwitterAccountID).MentionsCollection.ContainsEntries, delegate
                 {
                     this.ShowMethodsPopup(rect, this.richTextBox);
                     this.SetSelection(currentWordExcludingPrefix);
                 });
             }
             else if (!((this.ExcludeMentions || !DM_EXPRESSION.IsMatch(text)) || DM_EXPRESSION_WITH_END_SPACE.IsMatch(text)))
             {
                 string currentWordExcludingPrefix = DM_EXPRESSION.Match(text).Groups[1].Value;
                 results = IntellisenseDataSource.Instance(this.TwitterAccountID).MentionsCollection.GetMatches(currentWordExcludingPrefix);
                 Rect rect = GetPoint(this.richTextBox.Document.ContentStart, startIndex).GetCharacterRect(LogicalDirection.Forward);
                 this.BindResults(results, this.intellisenseListBox, rect, IntellisenseDataSource.Instance(this.TwitterAccountID).MentionsCollection.ContainsEntries, delegate
                 {
                     this.ShowMethodsPopup(rect, this.richTextBox);
                     this.SetSelection(currentWordExcludingPrefix);
                 });
             }
             else if (TAG_EXPRESSION.IsMatch(input))
             {
                 string partialWord = TAG_EXPRESSION.Match(input).Groups[1].Value;
                 results = IntellisenseDataSource.Instance(this.TwitterAccountID).TagsCollection.GetMatches(partialWord);
                 Rect rect = GetPoint(this.richTextBox.Document.ContentStart, startIndex).GetCharacterRect(LogicalDirection.Forward);
                 this.BindResults(results, this.intellisenseListBox, rect, IntellisenseDataSource.Instance(this.TwitterAccountID).TagsCollection.ContainsEntries, delegate
                 {
                     this.ShowMethodsPopup(rect, this.richTextBox);
                     this.intellisenseListBox.SelectedIndex = -1;
                 });
             }
             else
             {
                 this.HideMethodsPopup();
             }
         }
     }
 }
开发者ID:unbearab1e,项目名称:FlattyTweet,代码行数:85,代码来源:IntellisenseAdorner.cs

示例2: InsertSelectedEntry

 private void InsertSelectedEntry(char characterInsertion)
 {
     if (this.intellisenseListBox.SelectedIndex <= -1 || !this.intellisensePopup.IsOpen)
         return;
     string text = new TextRange(this.richTextBox.Document.ContentStart, this.richTextBox.CaretPosition).Text;
     int startIndex = text.LastIndexOf(' ');
     string currentWord = startIndex != -1 ? text.Substring(startIndex).TrimStart(new char[0]) : text.TrimStart(new char[0]);
     IntellisenseItem intellisenseItem = this.intellisenseListBox.SelectedItem as IntellisenseItem;
     bool flag = text.StartsWith("d ", StringComparison.InvariantCultureIgnoreCase) && !IntellisenseAdorner.DM_EXPRESSION_WITH_END_SPACE.IsMatch(text);
     string textData = this.IgnorePrefix || flag ? intellisenseItem.FilterValue : intellisenseItem.DisplayValue;
     if (textData.StartsWith("@") || textData.StartsWith("#"))
     {
         int charactersToDelete = IntellisenseAdorner.GetNumberOfCharactersToDelete(currentWord, textData.StartsWith("@") ? "@" : "#");
         if (currentWord.EndsWith(" "))
             this.richTextBox.CaretPosition.DeleteTextInRun(-(charactersToDelete - 1));
         else
             this.richTextBox.CaretPosition.DeleteTextInRun(-charactersToDelete);
     }
     else if (currentWord.EndsWith(" "))
         this.richTextBox.CaretPosition.DeleteTextInRun(-(currentWord.Length - 1));
     else
         this.richTextBox.CaretPosition.DeleteTextInRun(-currentWord.Length);
     if ((int)characterInsertion != 0 && !this.IgnorePrefix)
         textData = textData + (object)characterInsertion;
     this.richTextBox.CaretPosition = this.richTextBox.CaretPosition.GetPositionAtOffset(0, LogicalDirection.Forward) ?? this.richTextBox.CaretPosition;
     if (!flag)
     {
         this.richTextBox.CaretPosition.InsertTextInRun(textData);
     }
     else
     {
         this.richTextBox.CaretPosition.InsertTextInRun(textData);
         Messenger.Default.Send<GenericMessage<object>>(new GenericMessage<object>((object)intellisenseItem.FilterValue), (object)CommonCommands.MultiAccountifyToken((Enum)ViewModelMessages.DirectMessage, intellisenseItem.TwitterAccountID));
     }
     this.ignoreDisplay = true;
 }
开发者ID:unbearab1e,项目名称:FlattyTweet,代码行数:36,代码来源:IntellisenseAdorner.cs


注:本文中的System.Windows.Documents.TextRange.TrimStart方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。