Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Text blok je hlavním ovládacím prvkem pro zobrazení textu určeného pouze ke čtení v aplikacích. Můžete ho použít k zobrazení jednořádkového nebo víceřádkového textu, vložených hypertextových odkazů a textu s formátováním, jako je tučné písmo, kurzíva nebo podtržení.
Je to správná kontrola?
Blok textu se obvykle snadněji používá a poskytuje lepší výkon vykreslování textu než blok rtfů, takže je upřednostňovaný pro většinu textu uživatelského rozhraní aplikace. K bloku textu v aplikaci můžete snadno přistupovat a používat ho tak, že získáte hodnotu vlastnosti Text. Nabízí také řadu stejných možností formátování pro přizpůsobení způsobu vykreslení textu.
I když do textu můžete vložit konce řádků, je blok textu navržený tak, aby zobrazoval jeden odstavec a nepodporuje odsazení textu. Formát RichTextBlock použijte, pokud potřebujete podporu pro více odstavců, text s více sloupci nebo jiná rozložení složitého textu nebo vložené prvky uživatelského rozhraní, jako jsou obrázky.
Další informace o výběru správného ovládacího prvku textu najdete v Text článku ovládacích prvků .
Vytvoření bloku textu
- Důležitá rozhraní API:TextBlock třída, Text vlastnost, Inlines vlastnost
Aplikace WinUI 3 Gallery obsahuje interaktivní příklady většiny ovládacích prvků, vlastností a funkcionality WinUI 3. Získání aplikace z Microsoft Storu nebo získání zdrojového kódu na GitHubu
Tady je postup, jak definovat jednoduchý ovládací prvek TextBlock a nastavit jeho Text vlastnost na řetězec.
<TextBlock Text="Hello, world!" />
TextBlock textBlock1 = new TextBlock();
textBlock1.Text = "Hello, world!";
Model obsahu
K přidání obsahu do TextBlockmůžete použít dvě vlastnosti: Text a Inlines.
Nejběžnější způsob zobrazení textu je nastavení vlastnosti Text na řetězcovou hodnotu, jak je znázorněno v předchozím příkladu.
Obsah můžete přidat také tak, že do vlastnosti Inlines umístíte vložené prvky obsahu toku, například takto. (Inlines je výchozí vlastnost obsahu TextBlock, takže ji nemusíte explicitně přidávat do XAML.)
<TextBlock>Text can be <Bold>bold</Bold>, <Underline>underlined</Underline>,
<Italic>italic</Italic>, or a <Bold><Italic>combination</Italic></Bold>.</TextBlock>
Prvky odvozené z třídy Inline, například Bold, Italic, Run, Spana LineBreak, umožňují různé formátování pro různé části textu. Další informace najdete v části Formátování textu . Vložený prvek Hypertextový odkaz umožňuje přidat hypertextový odkaz na text. Použití Inlines ale také zakáže vykreslování textu s rychlou cestou, které je popsáno v další části.
Důležité informace o výkonu
Kdykoli je to možné, XAML používá efektivnější cestu kódu k rozložení textu. Tato rychlá cesta snižuje celkové využití paměti a výrazně zkracuje čas procesoru na měření a uspořádání textu. Tato rychlá cesta se vztahuje pouze na TextBlock, takže by měla být upřednostňovaná, pokud je to možné před RichTextBlock.
Některé podmínky vyžadují, aby se TextBlock vrátil ke složitější cestě kódu, která je náročnější na funkce a procesor pro vykreslování textu. Pokud chcete zachovat vykreslování textu na rychlé cestě, při nastavování zde uvedených vlastností nezapomeňte postupovat podle těchto pokynů.
-
Text: Nejdůležitější podmínkou je, že rychlá cesta se používá pouze v případě, že nastavíte text explicitním nastavením vlastnosti
Text, a to buď v XAML, nebo v kódu (jak je znázorněno v předchozích příkladech). Nastavení textu prostřednictvím TextBlockkolekceInlines(například<TextBlock>Inline text</TextBlock>) zakáže rychlou cestu kvůli možné složitosti více formátů. - Mezery mezi znaky: Pouze výchozí hodnota 0 je rychlá cesta.
-
TextTrimming: Rychlá cesta jsou pouze hodnoty
None,CharacterEllipsisaWordEllipsis. HodnotaClipzakáže rychlou cestu.
Poznámka:
Jenom UWP: Před Windows 10, verze 1607, mají další vlastnosti také vliv na rychlou cestu. Pokud je vaše aplikace spuštěná ve starší verzi systému Windows, tyto podmínky způsobí vykreslení textu na pomalejší cestě. Další informace o verzích najdete v tématu Adaptivní kód verze.
-
Typografie: Zrychlené cesty využívají pouze výchozí hodnoty pro různé vlastnosti
Typography. -
LineStackingStrategy: Pokud LineHeight není 0,
BaselineToBaselineaMaxHeighthodnoty zakazují rychlou cestu. -
IsTextSelectionEnabled: Pouze
falseje optimalizovaná cesta. Nastavením této vlastnostitruezakážete rychlou cestu.
Vlastnost DebugSettings.IsTextPerformanceVisualizationEnabled můžete nastavit na true během ladění a určit, zda text používá rychlé vykreslování cesty. Pokud je tato vlastnost nastavena na true, text, který je na rychlé cestě, se zobrazí jasně zelenou barvou.
Možnosti ladění obvykle nastavíte v přepsání metody OnLaunched na stránce kódu za App.xaml, takto.
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
#if DEBUG
if (System.Diagnostics.Debugger.IsAttached)
{
this.DebugSettings.IsTextPerformanceVisualizationEnabled = true;
}
#endif
// ...
}
V tomto příkladu se první TextBlock vykresluje pomocí rychlé cesty, zatímco druhá TextBlock se nevykresluje pomocí této cesty.
<StackPanel>
<TextBlock Text="This text is on the fast path."/>
<TextBlock>This text is NOT on the fast path.</TextBlock>
<StackPanel/>
Když tento XAML spustíte v režimu ladění s isTextPerformanceVisualizationEnabled nastavený na true, výsledek vypadá takto.
Upozornění
Barva textu, který není na rychlé cestě, se nezmění. Pokud máte v aplikaci text s barvou, která je zadaná jako jasná zelená, zobrazí se ve světle zelené, když je na pomalejší cestě vykreslování. Dávejte pozor, abyste nezaměňovali text označený zeleně v aplikaci s textem, který je na rychlé cestě a zelený kvůli nastavení ladění.
Formátování textu
I když vlastnost Text ukládá prostý text, můžete u ovládacího prvku TextBlock použít různé možnosti formátování a přizpůsobit tak, jak se text v aplikaci vykresluje. Pokud chcete změnit vzhled textu, můžete nastavit standardní vlastnosti ovládacího prvku , jako je FontFamily, FontSize, FontStyle, Foreground a CharacterSpacing . K formátování textu můžete také použít vložené textové prvky a vlastnosti připojené k typografii . Tyto možnosti ovlivňují jenom to, jak TextBlock text zobrazuje místně, takže pokud text zkopírujete a vložíte do ovládacího prvku rtf, například se nepoužije žádné formátování.
Poznámka:
Mějte na paměti, že jak je uvedeno v předchozí části, vložené textové prvky a hodnoty typografie, které nejsou výchozí, nejsou vykresleny rychlou cestou.
Inline elementy
Obor názvů Microsoft.UI.Xaml.Documents poskytuje celou řadu vložených textových prvků, které můžete použít k formátování textu, například Bold, , ItalicRun, Spana LineBreak.
V TextBlockmůžete zobrazit řadu řetězců, kde každý řetězec má jiné formátování. Můžete to provést pomocí elementu Run k zobrazení každého řetězce s jeho formátováním a oddělením každého Run elementu s elementem LineBreak.
Tady je postup, jak definovat několik různých formátovaných textových řetězců v TextBlock pomocí Run objektů oddělených LineBreak.
<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>
Tady je výsledek.
Typography
Připojené vlastnosti Typography třídy poskytují přístup k sadě typografických vlastností Microsoft OpenType. Tyto připojené vlastnosti můžete nastavit buď na TextBlock, nebo u jednotlivých vložených textových prvků. Tyto příklady ukazují obojí.
<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>
Univerzální platforma Windows a WinUI 2
Důležité
Informace a příklady v tomto článku jsou optimalizované pro aplikace, které používají Windows App SDK a WinUI 3, ale obecně platí pro aplikace pro UPW, které používají WinUI 2. Informace o konkrétních platformách a příklady najdete v referenčních informacích k rozhraní API pro UPW.
Tato část obsahuje informace potřebné pro použití ovládacího prvku v aplikacích UWP nebo WinUI 2.
Rozhraní API pro tento ovládací prvek existují v jmenném prostoru Windows.UI.Xaml.Controls.
- Rozhraní API pro UWP:TextBlock třída, Text vlastnost, Inlines vlastnost
- Otevřete aplikaci Galerie WinUI 2 a podívejte se na TextBlock v akci. Aplikace WinUI 2 Gallery obsahuje interaktivní ukázky většiny ovládacích prvků, funkcí a vlastností WinUI 2. Získejte aplikaci z Microsoft Storu nebo získejte zdrojový kód na GitHubu.
K získání nejnovějších stylů, šablon a funkcí pro všechny ovládací prvky doporučujeme použít nejnovější winUI 2 .
Související články
- Text ovladače
- Třída TextBox
- Třída PasswordBox
- vlastnost délky řetězce String.Length
Windows developer