本文整理汇总了C#中System.Windows.Documents.TextRange.Contains方法的典型用法代码示例。如果您正苦于以下问题:C# TextRange.Contains方法的具体用法?C# TextRange.Contains怎么用?C# TextRange.Contains使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Documents.TextRange
的用法示例。
在下文中一共展示了TextRange.Contains方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: button1_Click
private void button1_Click(object sender, RoutedEventArgs e)
{
for (int i = 0; i < Google.API.Translate.Language.TranslatableCollection.Count(); i++)
{
string richText = new TextRange(richTextBox1.Document.ContentStart, richTextBox1.Document.ContentEnd).Text;
richText.Contains(Google.API.Translate.Language.TranslatableCollection.ElementAt(i).ToString());
Translator translator = new Translator();
translator.translate(richText);
}
}
示例2: IsCaretPositionValid
private bool IsCaretPositionValid()
{
var text = new TextRange(richTextBox1.CaretPosition, richTextBox1.CaretPosition.DocumentEnd).Text;
return !text.Contains(">");
}
示例3: richTextBox1_PreviewKeyDown
private void richTextBox1_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Space)
{
var command = new TextRange(richTextBox1.CaretPosition.GetLineStartPosition(0),
richTextBox1.CaretPosition).Text;
command = command.Substring(command.IndexOf(">") + 1).Trim();
ShowOptions(command);
return;
}
else if (e.Key == Key.Tab || e.Key == Key.Down)
{
if (lstOptions.Visibility == Visibility.Visible)
{
lstOptions.Focus();
return;
}
}
else
{
lstOptions.Visibility = Visibility.Collapsed;
}
if (e.Key == Key.Enter)
{
var command = new TextRange(richTextBox1.CaretPosition.GetLineStartPosition(0),
richTextBox1.CaretPosition.GetLineStartPosition(1) ?? richTextBox1.CaretPosition.DocumentEnd).Text;
command = command.Replace("\r", "").Replace("\n", "");
RunCommand(command);
e.Handled = true;
}
else if (e.Key == Key.Up)
{
GetCommand(--commandIdx);
e.Handled = true;
}
else if (e.Key == Key.Down)
{
GetCommand(++commandIdx);
e.Handled = true;
}
else if (e.Key == Key.Escape)
{
ChangePrompt("", new SolidColorBrush(Colors.Black));
}
else if (e.Key == Key.Back)
{
var text = new TextRange(richTextBox1.CaretPosition.GetLineStartPosition(0),
richTextBox1.CaretPosition).Text;
if (text.EndsWith(">")) e.Handled = true;
}
else
{
var text = new TextRange(richTextBox1.CaretPosition, richTextBox1.CaretPosition.DocumentEnd).Text;
if (text.Contains(">")) //e.Handled = true;
this.richTextBox1.CaretPosition = this.richTextBox1.CaretPosition.DocumentEnd;
}
}
示例4: ExpandToEnclosingUnit
/// <summary>
/// Expands the range to an integral number of enclosing units. If the range is already an
/// integral number of the specified units then it remains unchanged.
/// </summary>
private void ExpandToEnclosingUnit(TextUnit unit, bool expandStart, bool expandEnd)
{
ITextView textView;
switch (unit)
{
case TextUnit.Character:
if (expandStart && !TextPointerBase.IsAtInsertionPosition(_start))
{
TextPointerBase.MoveToNextInsertionPosition(_start, LogicalDirection.Backward);
}
if (expandEnd && !TextPointerBase.IsAtInsertionPosition(_end))
{
TextPointerBase.MoveToNextInsertionPosition(_end, LogicalDirection.Forward);
}
break;
case TextUnit.Word:
if (expandStart && !IsAtWordBoundary(_start))
{
MoveToNextWordBoundary(_start, LogicalDirection.Backward);
}
if (expandEnd && !IsAtWordBoundary(_end))
{
MoveToNextWordBoundary(_end, LogicalDirection.Forward);
}
break;
case TextUnit.Format:
// Formatting changes can be introduced by elements. Hence it is fair to
// assume that formatting boundaries are defined by non-text context.
if (expandStart)
{
TextPointerContext forwardContext = _start.GetPointerContext(LogicalDirection.Forward);
while (true)
{
TextPointerContext backwardContext = _start.GetPointerContext(LogicalDirection.Backward);
if (backwardContext == TextPointerContext.None)
break;
if (forwardContext == TextPointerContext.Text && backwardContext != TextPointerContext.Text)
break;
forwardContext = backwardContext;
_start.MoveToNextContextPosition(LogicalDirection.Backward);
}
}
if (expandEnd)
{
TextPointerContext backwardContext = _end.GetPointerContext(LogicalDirection.Backward);
while (true)
{
TextPointerContext forwardContext = _end.GetPointerContext(LogicalDirection.Forward);
if (forwardContext == TextPointerContext.None)
break;
if (forwardContext == TextPointerContext.Text && backwardContext != TextPointerContext.Text)
break;
backwardContext = forwardContext;
_end.MoveToNextContextPosition(LogicalDirection.Forward);
}
}
// Set LogicalDirection to prevent end points from crossing a formatting
// boundary when normalized.
_start.SetLogicalDirection(LogicalDirection.Forward);
_end.SetLogicalDirection(LogicalDirection.Forward);
break;
case TextUnit.Line:
// Positions are snapped to closest line boundaries. But since line information
// is based on the layout, positions are not changed, if:
// a) they are not currently in the view, or
// b) containing line cannot be found.
textView = _textAdaptor.GetUpdatedTextView();
if (textView != null && textView.IsValid)
{
bool snapEndPosition = true;
if (expandStart && textView.Contains(_start))
{
TextSegment lineRange = textView.GetLineRange(_start);
if (!lineRange.IsNull)
{
// Move start position to the beginning of containing line.
if (_start.CompareTo(lineRange.Start) != 0)
{
_start = lineRange.Start.CreatePointer();
}
// If this line contains also end position, move it to the
// end of this line.
if (lineRange.Contains(_end))
{
snapEndPosition = false;
if (_end.CompareTo(lineRange.End) != 0)
//.........这里部分代码省略.........
示例5: RichTextBox_TextChanged
private void RichTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
if (_isLoading)
return;
_isLoading = true;
RichTextBox t = sender as RichTextBox;
if (t == null)
return;
BlockCollection bc = t.Document.Blocks;
foreach (Block b in bc)
{
if (b is Paragraph)
{
var para = b as Paragraph;
string text = new TextRange(para.ContentStart, para.ContentEnd).Text;
bool isProject = text.EndsWith(":");
bool isTask = text.StartsWith("-") || text.StartsWith("*");
bool isNote = !isProject && !isTask;
bool isDone = text.Contains("@done");
para.Foreground = isNote ? Brushes.DimGray : Brushes.Black;
para.FontSize = isProject ? 16 : 12;
para.TextDecorations = isDone ? TextDecorations.Strikethrough : null;
}
}
_isLoading = false;
}