Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az alkalmazások írásvédett szövegének megjelenítésére szolgáló elsődleges vezérlő a Text blokk. Használatával megjelenítheti az egysoros vagy többsoros szöveget, a beágyazott linkeket és a félkövér, dőlt vagy aláhúzott formázású szöveget.
Ez a megfelelő vezérlő?
A szövegblokkok általában egyszerűbben használhatók, és jobb szövegmegjelenítési teljesítményt nyújtanak, mint a rich text blokkok, ezért a legtöbb alkalmazás felhasználói felületének szövege előnyben részesíti. A Text tulajdonság értékének lekérésével egyszerűen hozzáférhet és használhatja a szöveget az alkalmazás szövegblokkjából. Emellett számos formázási lehetőséget biztosít a szöveg megjelenítésének testreszabásához.
Bár sortöréseket is elhelyezhet a szövegben, a szövegblokk egyetlen bekezdés megjelenítésére lett kialakítva, és nem támogatja a szöveg behúzását. Használjon RichTextBlock, ha több bekezdés, többoszlopos szöveg vagy más összetett szövegelrendezés, illetve beágyazott felhasználói felületi elemek, például képek támogatására van szüksége.
A megfelelő szövegvezérlő kiválasztásáról további információt a Text vezérlők cikkben talál.
Szövegblokk létrehozása
- Fontos API-k:TextBlock osztály, Text tulajdonság, Inlines tulajdonság
![]()
A WinUI 3 Katalógus alkalmazás interaktív példákat tartalmaz a WinUI vezérlőire és funkcióira. Kérje le az alkalmazást a Microsoft Áruházból vagy keresse meg a forráskódot a GitHub webhelyen.
Az alábbiakban egy egyszerű TextBlock vezérlőelemet definiálhat, és hogyan állíthatja be a Text tulajdonságát sztringre.
<TextBlock Text="Hello, world!" />
TextBlock textBlock1 = new TextBlock();
textBlock1.Text = "Hello, world!";
Tartalommodell
Két tulajdonsággal adhat hozzá tartalmat egy TextBlock: Text és Inlines.
A szöveg megjelenítésének leggyakoribb módja, ha az Text tulajdonságot sztringértékre állítja, ahogyan az előző példában is látható.
A tartalmat úgy is hozzáadhatja, hogy beágyazott adatfolyam-tartalomelemeket helyez el a Inlines tulajdonságban, például így. (Inlines egy TextBlockalapértelmezett tartalomtulajdonsága, ezért nem kell explicit módon hozzáadnia az XAML-ben.)
<TextBlock>Text can be <Bold>bold</Bold>, <Underline>underlined</Underline>,
<Italic>italic</Italic>, or a <Bold><Italic>combination</Italic></Bold>.</TextBlock>
A Inline osztályból származó elemek, például Bold, Italic, Run, Spanés LineBreakkülönböző formázást tesznek lehetővé a szöveg különböző részeihez. További információkért lásd a Szövegformázás szakaszt. A beágyazott Hivatkozás elem lehetővé teszi hivatkozás hozzáadását a szöveghez. A Inlines használata azonban letiltja a gyors elérésiút-szöveg renderelését is, amelyről a következő szakaszban olvashat.
Teljesítménnyel kapcsolatos szempontok
Amikor csak lehetséges, az XAML hatékonyabb kódútvonalat használ a szöveg elrendezéséhez. Ez a gyors út csökkenti az általános memóriahasználatot, és jelentősen csökkenti a processzoridőt a szövegmérés és -rendezés elvégzéséhez. Ez a gyors útvonal csak a TextBlock-re vonatkozik, ezért lehetőség szerint előnyben kell részesíteni a RichTextBlock.
Bizonyos feltételekhez TextBlock vissza kell esnie egy funkciógazdagabb és processzorigényesebb kódútvonalra a szövegmegjelenítéshez. Ha a szövegmegjelenítést a gyors útvonalon szeretné tartani, mindenképpen kövesse ezeket az irányelveket az itt felsorolt tulajdonságok beállításakor.
-
Text: A legfontosabb feltétel, hogy a gyors elérési út csak akkor legyen használva, ha a
Texttulajdonságot explicit módon állítja be XAML-ben vagy kódban (ahogy az az előző példákban is látható). Ha TextBlockInlinesgyűjteményén (például<TextBlock>Inline text</TextBlock>) keresztül állítja be a szöveget, az több formátum lehetséges összetettsége miatt letiltja a gyors elérési utat. - CharacterSpacing: Csak a 0 alapértelmezett értéke a gyors elérési út.
-
TextTrimming: Csak a
None, aCharacterEllipsisés aWordEllipsisértékek gyors útvonalak. AClipérték letiltja a gyors elérési utat.
A DebugSettings.IsTextPerformanceVisualizationEnabled tulajdonságot állítsa true értékre a hibakeresés során annak megállapításához, hogy a szöveg gyors elérésiút-renderelést használ-e. Ha ez a tulajdonság trueértékre van állítva, a gyorsútvonalon lévő szöveg világoszöld színnel jelenik meg.
A hibakeresési beállításokat általában az OnLaunched metódus felülbírálásában adhatja meg a App.xamlkód mögötti lapon, ehhez hasonlóan.
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
#if DEBUG
if (System.Diagnostics.Debugger.IsAttached)
{
this.DebugSettings.IsTextPerformanceVisualizationEnabled = true;
}
#endif
// ...
}
Ebben a példában az első TextBlock gyors útvonal használatával jelenik meg, míg a második nem.
<StackPanel>
<TextBlock Text="This text is on the fast path."/>
<TextBlock>This text is NOT on the fast path.</TextBlock>
<StackPanel/>
Ha hibakeresési módban futtatja ezt az XAML-t IsTextPerformanceVisualizationEnabledtrueértékre állítja, az eredmény így néz ki.
Caution
A gyorsútvonalon nem szereplő szöveg színe nem változik. Ha az alkalmazásban világoszöld színnel ellátott szöveg van megadva, az a lassabb megjelenítési útvonalon továbbra is élénkzöld színnel jelenik meg. Ügyeljen arra, hogy a hibakeresési beállítások miatt ne keverje össze az alkalmazásban zöldre állított szöveget a gyors elérési úton lévő és a zöld szöveggel.
Szöveg formázása
Bár a Text tulajdonság egyszerű szöveget tárol, különböző formázási beállításokat alkalmazhat a TextBlock vezérlőelemre a szöveg megjelenítésének testreszabásához az alkalmazásban. A szöveg megjelenésének módosításához beállíthatja az olyan szabványos vezérlőtulajdonságokat, mint FontFamily, FontSize, FontStyle, Előtérés CharacterSpacing. Beágyazott szövegelemeket és tipográfiai csatolt tulajdonságokat is használhat a szöveg formázásához. Ezek a beállítások csak azt befolyásolják, hogy a TextBlock hogyan jeleníti meg a szöveget helyileg, ezért ha a szöveget rich text vezérlőelembe másolja és illessze be, például nem alkalmaz formázást.
Megjegyzés:
Ne feledje, hogy az előző szakaszban leírtak szerint a beágyazott szövegelemek és a nem alapértelmezett tipográfiai értékek nem jelennek meg a gyors útvonalon.
Inline elemek
A Microsoft.UI.Xaml.Documents névtér számos beágyazott szöveges elemet biztosít, amelyekkel formázhatja a szöveget, például Bold, Italic, Run, Spanés LineBreak.
Karakterláncok sorozatát jelenítheti meg egy TextBlock-ban, ahol minden karakterlánc különböző formázással rendelkezik. Ezt úgy teheti meg, hogy egy Run elemet használ az egyes sztringek a formázásával való megjelenítésére, és minden Run elemet egy LineBreak elemmel elválaszt.
Az alábbiakban bemutatjuk, hogyan definiálhat különböző formátumú szöveges sztringeket TextBlock által, Run objektumok segítségével, amelyeket egy LineBreakválaszt el.
<TextBlock FontFamily="Segoe UI" Width="400" Text="Sample text formatting runs">
<LineBreak/>
<Run Foreground="Gray" FontFamily="Segoe UI Light" FontSize="24">
Segoe UI Light 24
</Run>
<LineBreak/>
<Run Foreground="Teal" FontFamily="Georgia" FontSize="18" FontStyle="Italic">
Georgia Italic 18
</Run>
<LineBreak/>
<Run Foreground="Black" FontFamily="Arial" FontSize="14" FontWeight="Bold">
Arial Bold 14
</Run>
</TextBlock>
Itt az eredmény.
Typography
A tipográfiai osztály csatolt tulajdonságai hozzáférést biztosítanak a Microsoft OpenType tipográfiai tulajdonságainak egy készletéhez. Ezeket a csatolt tulajdonságokat beállíthatja a TextBlockvagy az egyes beágyazott szövegelemeken. Ezek a példák mindkettőt mutatják.
<TextBlock Text="Hello, world!"
Typography.Capitals="SmallCaps"
Typography.StylisticSet4="True"/>
TextBlock textBlock1 = new TextBlock();
textBlock1.Text = "Hello, world!";
Typography.SetCapitals(textBlock1, FontCapitals.SmallCaps);
Typography.SetStylisticSet4(textBlock1, true);
<TextBlock>12 x <Run Typography.Fraction="Slashed">1/3</Run> = 4.</TextBlock>
Kapcsolódó cikkek
Windows developer