TextPointer.GetInsertionPosition(LogicalDirection) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 논리 방향으로 가장 가까운 삽입 위치에 대한 TextPointer를 반환합니다.
public:
System::Windows::Documents::TextPointer ^ GetInsertionPosition(System::Windows::Documents::LogicalDirection direction);
public System.Windows.Documents.TextPointer GetInsertionPosition (System.Windows.Documents.LogicalDirection direction);
member this.GetInsertionPosition : System.Windows.Documents.LogicalDirection -> System.Windows.Documents.TextPointer
Public Function GetInsertionPosition (direction As LogicalDirection) As TextPointer
매개 변수
- direction
- LogicalDirection
가장 가까운 삽입 위치를 검색할 논리 방향을 지정하는 LogicalDirection 값 중 하나입니다.
반환
지정된 방향으로 가장 가까운 삽입 위치에 대한 TextPointer입니다.
예제
사용 하는 방법을 보여 주는이 예제는 GetInsertionPosition 지정 하는지 여부를 확인 하는 메서드 TextElement 인쇄 가능한 콘텐츠가 비어 있습니다.
// Tests to see if the specified TextElement is empty (has no printatble content).
bool IsElementEmpty(TextElement element)
{
// Find starting and ending insertion positions in the element.
// Inward-facing directions are used to make sure that insertion position
// will be found correctly in case when the element may contain inline
// formatting elements (such as a Span or Run that contains Bold or Italic elements).
TextPointer start = element.ContentStart.GetInsertionPosition(LogicalDirection.Forward);
TextPointer end = element.ContentEnd.GetInsertionPosition(LogicalDirection.Backward);
// The element has no printable content if its first and last insertion positions are equal.
return start.CompareTo(end) == 0;
} // End IsEmptyElement method.
' Tests to see if the specified TextElement is empty (has no printatble content).
Private Function IsElementEmpty(ByVal element As TextElement) As Boolean
' Find starting and ending insertion positions in the element.
' Inward-facing directions are used to make sure that insertion position
' will be found correctly in case when the element may contain inline
' formatting elements (such as a Span or Run that contains Bold or Italic elements).
Dim start As TextPointer = element.ContentStart.GetInsertionPosition(LogicalDirection.Forward)
Dim [end] As TextPointer = element.ContentEnd.GetInsertionPosition(LogicalDirection.Backward)
' The element has no printable content if its first and last insertion positions are equal.
Return start.CompareTo([end]) = 0
End Function ' End IsEmptyElement method.
설명
삽입 위치는 연결 된 콘텐츠에 대 한 의미 체계 규칙을 위반 하지 않고 새 콘텐츠를 추가할 수 있는 위치입니다. 실제로 삽입 위치는 콘텐츠 내 캐럿을 배치할 수 있습니다. 유효한 예가 TextPointer 삽입 위치 하지 않은 위치는 두 인접 한 위치 Paragraph 태그 (즉, 여는 태그 다음 단락의 이전 단락의 닫는 태그 사이).
경우는 TextPointer 이미 가리키는 올바른 삽입 위치에 있지만 닫는 태그 바로 뒤에 오는 해당 위치에서 지정 된 방향으로 비어 있지 않은 서식 시퀀스에 대 한 해당 TextPointer 이 반환한 메서드는 삽입을 가리키도록 조정 서식 지정 하는 시퀀스의 종료 된 이후에 배치 합니다. 예를 들어 태그 시퀀스를 고려해 보세요 <Bold>a</Bold>b
합니다. 문자 a
사이에는 두 개의 삽입 위치가 있습니다 b
. 하나는 닫는 태그 앞에 있고 다른 하나는 닫 Bold
는 Bold
태그 바로 뒤에 있습니다. 경우 GetInsertionPosition 라고 하는 TextPointer 문자 바로 뒤 위치 a
전과 닫기를 Bold
태그와를 direction
의 Forward, 반환 된 TextPointer 가리키도록 조정 됩니다는 문자 바로 앞 위치 b
를 닫은 후 Bold
태그입니다. 반대 논리 방향으로 작업 하는 경우 서식 지정 태그를 열기 위한 비슷한 조정이 됩니다. 이 메서드가 유사한 경우 삽입 위치 간에 명확성 수단을 제공 하기에 적합 합니다.
이 메서드는 구조적 태그 시퀀스 관련 된 경우 삽입 지점을 선택 되도록 데도 사용할 수 있습니다. 예를 들어 결산 잔액과 개시 단락 태그 간에 위치에서 작업 하는 경우 방향 매개 변수 수 다음 단락 시작 부분에 가장 가까운 삽입 지점을 선택 (지정 하 여 LogicalDirection.Forward) 또는 위의 단락 (끝에 지정 하 여 LogicalDirection.Backward).
포인터가 이미 삽입 위치에 인접 한 형식 지정 태그가 지정 된 경우 direction
에서 반환 된 TextPointer 호출와 동일한 위치를 가리키는 TextPointer.
가리키는 위치를 기준으로 올바른 삽입 지점이 없이 있는지 수는 TextPointer합니다. 이 참조 된 콘텐츠가 빈 테이블 또는 목록 구조적으로 불완전 한 경우에 발생할 수 있습니다. 이러한 경우에이 메서드가 단순히 반환을 TextPointer 와 동일한 위치에는 TextPointer 이 메서드가 호출 되었습니다. 이 메서드는 항상 유효한 반환 TextPointer합니다.