TextPointer.IsInSameDocument(TextPointer) Metode

Definisi

Menunjukkan apakah posisi yang ditentukan berada dalam kontainer teks yang sama dengan posisi saat ini.

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

Parameter

textPosition
TextPointer

TextPointer yang menentukan posisi untuk dibandingkan dengan posisi saat ini.

Mengembalikan

true jika textPosition menunjukkan posisi yang berada dalam kontainer teks yang sama dengan posisi saat ini; jika tidak, false.

Pengecualian

textPosition adalah null.

Contoh

Contoh berikut menunjukkan penggunaan untuk metode ini. Contoh menggunakan IsInSameDocument metode untuk memeriksa apakah yang ditentukan TextPointer diposisikan antara dua instans tertentu TextPointer lainnya dalam situasi ketika tidak ada jaminan bahwa ketiga posisi tersebut termasuk dalam kontainer teks yang sama.

// 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

Keterangan

Sebagian besar operasi yang melibatkan beberapa TextPointer instans hanya valid jika instans yang dimaksud menunjukkan posisi yang berada dalam cakupan kontainer teks yang sama. Misalnya CompareTo metode dan GetOffsetToPosition tidak dapat digunakan dengan TextPointer posisi ke di luar kontainer teks yang terkait dengan posisi saat ini. Gunakan metode ini untuk memverifikasi bahwa yang ditentukan TextPointer kompatibel dengan posisi saat ini untuk operasi tersebut.

Berlaku untuk