TextPointer.GetPositionAtOffset Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
TextPointer A megadott eltolás által jelzett helyre ad vissza egy értéket szimbólumokban, a tartalom kezdetétől kezdve.
Túlterhelések
| Name | Description |
|---|---|
| GetPositionAtOffset(Int32, LogicalDirection) |
TextPointer A megadott eltolás által jelzett pozícióra ad vissza egy értéket szimbólumokban, az áram TextPointer kezdetétől a megadott irányban. |
| GetPositionAtOffset(Int32) |
A megadott eltolás által jelzett pozícióra ad vissza egy TextPointer értéket szimbólumokban, az aktuális TextPointerkezdettől kezdve. |
GetPositionAtOffset(Int32, LogicalDirection)
TextPointer A megadott eltolás által jelzett pozícióra ad vissza egy értéket szimbólumokban, az áram TextPointer kezdetétől a megadott irányban.
public:
System::Windows::Documents::TextPointer ^ GetPositionAtOffset(int offset, System::Windows::Documents::LogicalDirection direction);
public System.Windows.Documents.TextPointer GetPositionAtOffset(int offset, System.Windows.Documents.LogicalDirection direction);
member this.GetPositionAtOffset : int * System.Windows.Documents.LogicalDirection -> System.Windows.Documents.TextPointer
Public Function GetPositionAtOffset (offset As Integer, direction As LogicalDirection) As TextPointer
Paraméterek
- offset
- Int32
Egy eltolás szimbólumokban, amelyekhez ki kell számítani és visszaadni a pozíciót. Ha az eltolás negatív, akkor a visszaadott TextPointer érték megelőzi az aktuális TextPointerértéket; ellenkező esetben az alábbiakat követi.
- direction
- LogicalDirection
LogicalDirection A visszaadott TextPointerérték logikai irányát meghatározó értékek egyike.
Válaszok
A TextPointer a megadott eltolás által megjelölt pozícióra, vagy null ha az eltolás a tartalom végén túlnyúlik.
Megjegyzések
Az alábbiak bármelyike szimbólumnak minősül:
Az elem nyitó vagy záró címkéje TextElement .
Egy UIElement vagy InlineUIContainertöbb elemet tartalmazó BlockUIContainer elem. Vegye figyelembe, hogy az UIElement ilyen elemeket mindig pontosan egy szimbólumnak számítják; a UIElement bennük található további tartalmak vagy elemek nem számítanak szimbólumnak.
16 bites Unicode-karakter egy szövegelemen Run belül.
Lásd még
A következőre érvényes:
GetPositionAtOffset(Int32)
A megadott eltolás által jelzett pozícióra ad vissza egy TextPointer értéket szimbólumokban, az aktuális TextPointerkezdettől kezdve.
public:
System::Windows::Documents::TextPointer ^ GetPositionAtOffset(int offset);
public System.Windows.Documents.TextPointer GetPositionAtOffset(int offset);
member this.GetPositionAtOffset : int -> System.Windows.Documents.TextPointer
Public Function GetPositionAtOffset (offset As Integer) As TextPointer
Paraméterek
- offset
- Int32
Egy eltolás szimbólumokban, amelyekhez ki kell számítani és visszaadni a pozíciót. Ha az eltolás negatív, a helyzet kiszámítása a tulajdonság által LogicalDirection jelzett logikai irányban történik.
Válaszok
A TextPointer megadott eltolás által jelzett pozícióra, vagy null ha nem található megfelelő pozíció.
Példák
Az alábbi példa a metódus használatát mutatja be. A példa egy metóduspár implementálására használja a GetPositionAtOffset metódust, az egyik egy adott pozícióba történő eltolás kiszámítására bármely üzemeltetési bekezdéshez képest, a másik pedig egy adott bekezdés egy adott eltolásának visszaadására TextPointer .
// Returns the offset for the specified position relative to any containing paragraph.
int GetOffsetRelativeToParagraph(TextPointer position)
{
// Adjust the pointer to the closest forward insertion position, and look for any
// containing paragraph.
Paragraph paragraph = (position.GetInsertionPosition(LogicalDirection.Forward)).Paragraph;
// Some positions may be not within any Paragraph;
// this method returns an offset of -1 to indicate this condition.
return (paragraph == null) ? -1 : paragraph.ContentStart.GetOffsetToPosition(position);
}
// Returns a TextPointer to a specified offset into a specified paragraph.
TextPointer GetTextPointerRelativeToParagraph(Paragraph paragraph, int offsetRelativeToParagraph)
{
// Verify that the specified offset falls within the specified paragraph. If the offset is
// past the end of the paragraph, return a pointer to the farthest offset position in the paragraph.
// Otherwise, return a TextPointer to the specified offset in the specified paragraph.
return (offsetRelativeToParagraph > paragraph.ContentStart.GetOffsetToPosition(paragraph.ContentEnd))
? paragraph.ContentEnd : paragraph.ContentStart.GetPositionAtOffset(offsetRelativeToParagraph);
}
' Returns the offset for the specified position relative to any containing paragraph.
Private Function GetOffsetRelativeToParagraph(ByVal position As TextPointer) As Integer
' Adjust the pointer to the closest forward insertion position, and look for any
' containing paragraph.
Dim paragraph As Paragraph = (position.GetInsertionPosition(LogicalDirection.Forward)).Paragraph
' Some positions may be not within any Paragraph
' this method returns an offset of -1 to indicate this condition.
Return If((paragraph Is Nothing), -1, paragraph.ContentStart.GetOffsetToPosition(position))
End Function
' Returns a TextPointer to a specified offset into a specified paragraph.
Private Function GetTextPointerRelativeToParagraph(ByVal paragraph As Paragraph, ByVal offsetRelativeToParagraph As Integer) As TextPointer
' Verify that the specified offset falls within the specified paragraph. If the offset is
' past the end of the paragraph, return a pointer to the farthest offset position in the paragraph.
' Otherwise, return a TextPointer to the specified offset in the specified paragraph.
Return If((offsetRelativeToParagraph > paragraph.ContentStart.GetOffsetToPosition(paragraph.ContentEnd)), paragraph.ContentEnd, paragraph.ContentStart.GetPositionAtOffset(offsetRelativeToParagraph))
End Function
Megjegyzések
Az alábbiak bármelyike szimbólumnak minősül:
Az elem nyitó vagy záró címkéje TextElement .
Egy UIElement vagy InlineUIContainertöbb elemet tartalmazó BlockUIContainer elem. Vegye figyelembe, hogy az UIElement ilyen elemeket mindig pontosan egy szimbólumnak számítják; a UIElement bennük található további tartalmak vagy elemek nem számítanak szimbólumnak.
16 bites Unicode-karakter egy szövegelemen Run belül.