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.
Bloky formátovaného textu poskytují několik funkcí pro rozšířené rozložení textu, které můžete použít, když potřebujete podporu odstavců, vložených prvků uživatelského rozhraní nebo složitých rozložení textu.
Je to správná kontrola?
Formát RichTextBlock použijte, pokud potřebujete podporu více odstavců, vícesloupců nebo jiných rozložení komplexního textu nebo vložených prvků uživatelského rozhraní, jako jsou obrázky.
Pomocí textového bloku můžete v aplikaci zobrazit většinu textu jen pro čtení. 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í. TextBlock poskytuje jednodušší model obsahu, takže je obvykle jednodušší a může poskytovat lepší výkon vykreslování textu než RichTextBlock. Preferuje se pro většinu textu uživatelského rozhraní aplikace. I když do textu můžete vložit konce řádků, TextBlock je navržený tak, aby zobrazoval jeden odstavec a nepodporuje odsazení textu.
Další informace o výběru správného ovládacího prvku textu najdete v článku Ovládací prvky textu .
Recommendations
Viz Typografie a pokyny pro písma.
Vytvořte blok s formátovaným textem
- Důležitá rozhraní API:RichTextBlock – třída, Třída RichTextBlockOverflow, Třída Paragraph, Typografická třída
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
Vlastnost obsah RichTextBlock je vlastnost Blocks, která podporuje text na bázi odstavců pomocí prvku Paragraph. Nemá vlastnost Text , kterou můžete použít pro snadný přístup k textovému obsahu ovládacího prvku ve vaší aplikaci. RichTextBlock ale poskytuje několik jedinečných funkcí, které TextBlock neposkytuje.
RichTextBlock podporuje:
- Více odstavců. Nastavte odsazení odstavců pomocí vlastnosti TextIndent.
- Vložené prvky uživatelského rozhraní Pomocí inlineUIContainer můžete zobrazit prvky uživatelského rozhraní, jako jsou obrázky, vložené s vaším textem.
- Přetečení kontejnerů K vytvoření rozložení textu s více sloupci použijte elementy RichTextBlockOverflow .
Odstavce
K definování textových bloků, které se mají zobrazit v ovládacím prvku RichTextBlock, používáte prvky odstavce. Každý RichTextBlock by měl obsahovat alespoň jeden odstavec.
Velikost odsazení pro všechny odstavce v objektu RichTextBlock můžete nastavit nastavením vlastnosti RichTextBlock.TextIndent . Toto nastavení můžete přepsat pro konkrétní odstavce v RichTextBlock nastavením Paragraph.TextIndent vlastnost na jinou hodnotu.
<RichTextBlock TextIndent="12">
<Paragraph TextIndent="24">First paragraph.</Paragraph>
<Paragraph>Second paragraph.</Paragraph>
<Paragraph>Third paragraph. <Bold>With an inline.</Bold></Paragraph>
</RichTextBlock>
Vložené prvky uživatelského rozhraní
Třída InlineUIContainer umožňuje vložit jakýkoli UIElement přímo do vašeho textu. Běžným scénářem je vložení obrázku s textem, ale můžete také použít interaktivní prvky, jako je tlačítko nebo zaškrtávací políčko.
Pokud chcete vložit více prvků inline na stejnou pozici, zvažte použití panelu jako jediného podřízeného prvku v rámci InlineUIContainer, a pak umístěte tyto prvky do tohoto panelu.
Tento příklad ukazuje, jak pomocí InlineUIContainer vložit obrázek do RichTextBlock.
<RichTextBlock>
<Paragraph>
<Italic>This is an inline image.</Italic>
<InlineUIContainer>
<Image Source="Assets/Square44x44Logo.png" Height="30" Width="30"/>
</InlineUIContainer>
Mauris auctor tincidunt auctor.
</Paragraph>
</RichTextBlock>
Přetečení kontejnerů
Pomocí elementů RichTextBlock s prvky RichTextBlockOverflow můžete vytvořit vícesloupce nebo jiná pokročilá rozložení stránky. Obsah prvku RichTextBlockOverflow vždy pochází z RichTextBlock elementu. Prvky RichTextBlockOverflow propojíte tak, že je nastavíte jako OverflowContentTarget RichTextBlocku nebo jako jiný RichTextBlockOverflow.
Tady je jednoduchý příklad, který vytvoří rozložení se dvěma sloupci. Složitější příklad najdete v části Příklady.
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<RichTextBlock Grid.Column="0"
OverflowContentTarget="{Binding ElementName=overflowContainer}" >
<Paragraph>
Proin ac metus at quam luctus ultricies.
</Paragraph>
</RichTextBlock>
<RichTextBlockOverflow x:Name="overflowContainer" Grid.Column="1"/>
</Grid>
Formátování textu
I když RichTextBlock ukládá prostý text, můžete použít různé možnosti formátování pro přizpůsobení způsobu vykreslení textu v aplikaci. 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 RichTextBlock zobrazuje text místně, takže pokud text zkopírujete a vložíte do ovládacího prvku rtf, například není použito žádné formátování.
Řádkové prvky
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 Tučné písmo, Kurzíva, Run, Span a LineBreak. Typickým způsobem, jak použít formátování u oddílů textu, je umístit text do elementu Run nebo Span a pak nastavit vlastnosti na tento prvek.
Tady je odstavec s první frází zobrazenou tučným, modrým, 16ptým textem.
<Paragraph>
<Bold><Span Foreground="DarkSlateBlue" FontSize="16">Lorem ipsum dolor sit amet</Span></Bold>
, consectetur adipiscing elit.
</Paragraph>
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 RichTextBlock, nebo u jednotlivých vložených textových prvků, jak je znázorněno zde.
<RichTextBlock Typography.StylisticSet4="True">
<Paragraph>
<Span Typography.Capitals="SmallCaps">Lorem ipsum dolor sit amet</Span>
, consectetur adipiscing elit.
</Paragraph>
</RichTextBlock>
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:Třída RichTextBlock, Třída RichTextBlockOverflow, Třída Paragraph, Třída Typography
- Otevřete aplikaci Galerie WinUI 2 a podívejte se na akci RichTextBox. 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í nejaktuálnějších stylů a šablon pro všechny ovládací prvky doporučujeme použít nejnovější WinUI 2 . WinUI 2.2 nebo novější obsahuje novou šablonu pro tento ovládací prvek, který používá zaoblené rohy. Další informace najdete v tématu Poloměr rohu.
Související články
Pro návrháře
Pro vývojáře (XAML)
Pro vývojáře (jiné)
- vlastnost délky řetězce String.Length
Windows developer