Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Bloki tekstu sformatowanego udostępniają kilka funkcji zaawansowanego układu tekstu, których można użyć, gdy potrzebujesz obsługi akapitów, wbudowanych elementów interfejsu użytkownika lub złożonych układów tekstu.
Czy jest to właściwa kontrola?
Użyj elementu RichTextBlock , jeśli potrzebujesz obsługi wielu akapitów, wielokolumny lub innych złożonych układów tekstu lub wbudowanych elementów interfejsu użytkownika, takich jak obrazy.
Użyj elementu TextBlock , aby wyświetlić większość tekstu tylko do odczytu w aplikacji. Można go użyć do wyświetlania tekstu jednowierszowego lub wielowierszowego, hiperlinków wbudowanych i tekstu z formatowaniem, takimi jak pogrubienie, kursywa lub podkreślenie. Funkcja TextBlock udostępnia prostszy model zawartości, więc zwykle jest łatwiejszy w użyciu i może zapewnić lepszą wydajność renderowania tekstu niż RichTextBlock. Jest to preferowane dla większości tekstu interfejsu użytkownika aplikacji. Mimo że można umieścić podziały wierszy w tekście, funkcja TextBlock jest przeznaczona do wyświetlania pojedynczego akapitu i nie obsługuje wcięcia tekstu.
Aby uzyskać więcej informacji na temat wybierania odpowiedniej kontrolki tekstu, zobacz artykuł Kontrolki tekstu .
Rekomendacje
Zobacz Typografia i Wskazówki dotyczące czcionek.
Utwórz blok tekstu sformatowanego (rich text)
- Ważne interfejsy API:klasa RichTextBlock, klasa RichTextBlockOverflow, klasa Paragraph, klasa Typography
Aplikacja Galeria WinUI 3 zawiera interaktywne przykłady większości kontrolek, funkcji i funkcji interfejsu WinUI 3. Pobierz aplikację ze Sklepu Microsoft lub pobierz kod źródłowy w witrynie GitHub
Właściwość content obiektu RichTextBlock to właściwość Blocks, która obsługuje tekst sformatowany w akapitach za pośrednictwem elementu Paragraf. Nie ma właściwości Text , której można użyć, aby łatwo uzyskać dostęp do zawartości tekstowej kontrolki w aplikacji. RichTextBlock oferuje jednak kilka unikalnych funkcji, których TextBlock nie zapewnia.
Element RichTextBlock obsługuje:
- Wiele akapitów. Ustaw wcięcie akapitów, ustawiając właściwość TextIndent .
- Wbudowane elementy interfejsu użytkownika. Użyj InlineUIContainer, aby wyświetlać elementy interfejsu użytkownika, takie jak obrazy, w linii z tekstem.
- Przepełnienie kontenerów. Użyj elementów RichTextBlockOverflow , aby utworzyć układy tekstowe z wieloma kolumnami.
Ustępy
Elementy akapitu służą do definiowania bloków tekstu do wyświetlania w kontrolce RichTextBlock. Każdy element RichTextBlock powinien zawierać co najmniej jeden akapit.
Możesz ustawić wcięcie dla wszystkich akapitów w obiekcie RichTextBlock, ustawiając właściwość RichTextBlock.TextIndent . To ustawienie można zastąpić dla określonych akapitów w obiekcie RichTextBlock, ustawiając właściwość Paragraph.TextIndent na inną wartość.
<RichTextBlock TextIndent="12">
<Paragraph TextIndent="24">First paragraph.</Paragraph>
<Paragraph>Second paragraph.</Paragraph>
<Paragraph>Third paragraph. <Bold>With an inline.</Bold></Paragraph>
</RichTextBlock>
Wbudowane elementy interfejsu użytkownika
Klasa InlineUIContainer umożliwia osadzanie dowolnego elementu UIElement w linii z tekstem. Typowym scenariuszem jest umieszczenie obrazu w tekście, ale można również użyć elementów interaktywnych, takich jak przycisk lub pole wyboru.
Jeśli chcesz osadzić więcej niż jeden element wbudowany w tym samym położeniu, rozważ użycie panelu jako pojedynczego elementu podrzędnego InlineUIContainer, a następnie umieść wiele elementów w tym panelu.
W tym przykładzie pokazano, jak za pomocą elementu InlineUIContainer wstawić obraz do obiektu 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>
Kontenery nadmiarowe
Możesz użyć elementu RichTextBlock z elementami RichTextBlockOverflow , aby utworzyć wielokolumny lub inne zaawansowane układy stron. Zawartość elementu RichTextBlockOverflow zawsze pochodzi z elementu RichTextBlock. Elementy RichTextBlockOverflow można połączyć, ustawiając je jako element OverflowContentTarget elementu RichTextBlock lub innego elementu RichTextBlockOverflow.
Oto prosty przykład, który tworzy układ dwóch kolumn. Zobacz sekcję Przykłady, aby zapoznać się z bardziej złożonym przykładem.
<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>
Formatowanie tekstu
Mimo że element RichTextBlock przechowuje zwykły tekst, można zastosować różne opcje formatowania, aby dostosować sposób renderowania tekstu w aplikacji. Możesz ustawić standardowe właściwości kontrolek, takie jak FontFamily, FontSize, FontStyle, Foreground i CharacterSpacing, aby zmienić wygląd tekstu. Możesz również użyć wbudowanych elementów tekstowych i dołączonych właściwości typografii, aby sformatować tekst. Te opcje mają wpływ tylko na sposób lokalnego wyświetlania tekstu przez element RichTextBlock, więc jeśli skopiujesz i wklejesz tekst do kontrolki tekstu sformatowanego, na przykład nie zastosowano żadnego formatowania.
Elementy liniowe
Przestrzeń nazw Microsoft.UI.Xaml.Documents udostępnia różne wbudowane elementy tekstowe, których można użyć do formatowania tekstu, takie jak Bold, Italic, Run, Span i LineBreak. Typowym sposobem zastosowania formatowania do sekcji tekstu jest umieszczenie tekstu w elemecie Run or Span, a następnie ustawieniu właściwości na tym elemecie.
Oto akapit z pierwszą frazą wyświetlaną pogrubioną na niebiesko w rozmiarze 16 punktów.
<Paragraph>
<Bold><Span Foreground="DarkSlateBlue" FontSize="16">Lorem ipsum dolor sit amet</Span></Bold>
, consectetur adipiscing elit.
</Paragraph>
Typography
Dołączone właściwości klasy Typography zapewniają dostęp do zestawu właściwości typografii Microsoft OpenType. Te dołączone właściwości można ustawić w elemecie RichTextBlock lub w poszczególnych elementach tekstowych wbudowanych, jak pokazano tutaj.
<RichTextBlock Typography.StylisticSet4="True">
<Paragraph>
<Span Typography.Capitals="SmallCaps">Lorem ipsum dolor sit amet</Span>
, consectetur adipiscing elit.
</Paragraph>
</RichTextBlock>
UwP i WinUI 2
Ważne
Informacje i przykłady w tym artykule są zoptymalizowane dla aplikacji korzystających z Windows App SDK oraz WinUI 3, ale generalnie mają zastosowanie także w aplikacjach UWP używających WinUI 2. Zobacz dokumentację interfejsu API platformy UWP, aby uzyskać informacje i przykłady dotyczące platformy.
Ta sekcja zawiera informacje potrzebne do używania kontrolki w aplikacji platformy UWP lub WinUI 2.
API dla tej kontrolki istnieją w ramach przestrzeni nazw Windows.UI.Xaml.Controls.
- Interfejsy API platformy UWP:klasa RichTextBlock, klasa RichTextBlockOverflow, klasa Paragraph, klasa Typography
-
Otwórz aplikację Galeria WinUI 2 i zobacz akcję RichTextBox. Aplikacja z galerii
WinUI 2 zawiera interaktywne przykłady większości kontrolek, funkcji i funkcji winUI 2. Pobierz aplikację ze Sklepu Microsoft lub pobierz kod źródłowy w witrynie GitHub.
Zalecamy użycie najnowszej wersji WinUI 2 , aby uzyskać najbardziej aktualne style i szablony dla wszystkich kontrolek. Interfejs WinUI 2.2 lub nowszy zawiera nowy szablon dla tej kontrolki, który używa zaokrąglonych narożników. Aby uzyskać więcej informacji, zobacz Zaokrąglenie narożnika.
Powiązane artykuły
Dla projektantów
- wskazówki dotyczące sprawdzania pisowni
- Dodawanie wyszukiwania
- Wskazówki dotyczące wprowadzania tekstu
Dla deweloperów (XAML)
Dla deweloperów (inne)
Windows developer