TextPointer.IsInSameDocument(TextPointer) Метод

Определение

Указывает, находится ли указанная позиция в том же текстовом контейнере, что и текущая позиция.

public:
 bool IsInSameDocument(System::Windows::Documents::TextPointer ^ textPosition);
public bool IsInSameDocument(System.Windows.Documents.TextPointer textPosition);
member this.IsInSameDocument : System.Windows.Documents.TextPointer -> bool
Public Function IsInSameDocument (textPosition As TextPointer) As Boolean

Параметры

textPosition
TextPointer

Значение, TextPointer указывающее позицию для сравнения с текущей позицией.

Возвращаемое значение

true Значение , если textPosition указывает положение, которое находится в том же текстовом контейнере, что и текущая позиция; в противном случае false.

Исключения

textPosition равно null.

Примеры

В следующем примере демонстрируется использование этого метода. В примере используется IsInSameDocument метод для проверки того, расположен ли указанный объект TextPointer между двумя другими указанными TextPointer экземплярами в ситуации, когда нет гарантии, что все три позиции принадлежат одному текстовому контейнеру.

// This method first checks for compatible text container scope, and then checks whether
// a specified position is between two other specified positions.
bool IsPositionContainedBetween(TextPointer positionToTest, TextPointer start, TextPointer end)
{
    // Note that without this check, an exception will be raised by CompareTo if positionToTest 
    // does not point to a position that is in the same text container used by start and end.
    //
    // This test also implicitely indicates whether start and end share a common text container.
    if (!positionToTest.IsInSameDocument(start) || !positionToTest.IsInSameDocument(end)) 
        return false;
    
    return start.CompareTo(positionToTest) <= 0 && positionToTest.CompareTo(end) <= 0;
}
' This method first checks for compatible text container scope, and then checks whether
' a specified position is between two other specified positions.
Private Function IsPositionContainedBetween(ByVal positionToTest As TextPointer, ByVal start As TextPointer, ByVal [end] As TextPointer) As Boolean
    ' Note that without this check, an exception will be raised by CompareTo if positionToTest 
    ' does not point to a position that is in the same text container used by start and end.
    '
    ' This test also implicitely indicates whether start and end share a common text container.
    If (Not positionToTest.IsInSameDocument(start)) OrElse (Not positionToTest.IsInSameDocument([end])) Then
        Return False
    End If

    Return start.CompareTo(positionToTest) <= 0 AndAlso positionToTest.CompareTo([end]) <= 0
End Function

Комментарии

Большинство операций, связанных с несколькими TextPointer экземплярами, допустимы только в том случае, если экземпляры в вопросе указывают позиции, которые находятся в одной области текстового контейнера. Например, CompareToGetOffsetToPosition методы нельзя использовать с TextPointer позицией вне текстового контейнера, связанного с текущей позицией. Используйте этот метод, чтобы убедиться, что указанный TextPointer параметр совместим с текущей позицией для таких операций.

Применяется к