Aracılığıyla paylaş


Zengin metin bloğu

Zengin metin blokları, paragraflar, satır içi kullanıcı arabirimi öğeleri veya karmaşık metin düzenleri için desteğe ihtiyacınız olduğunda kullanabileceğiniz gelişmiş metin düzeni için çeşitli özellikler sağlar.

Doğru kontrol bu mu?

Birden çok paragraf, çok sütunlu veya diğer karmaşık metin düzenleri ya da görüntüler gibi satır içi kullanıcı arabirimi öğeleri için desteğe ihtiyacınız olduğunda RichTextBlock kullanın.

Uygulamanızda en fazla salt okunur metni görüntülemek için TextBlock kullanın. Tek satırlı veya çok satırlı metin, satır içi köprüler ve kalın, italik veya altı çizili gibi biçimlendirmeye sahip metinleri görüntülemek için bunu kullanabilirsiniz. TextBlock daha basit bir içerik modeli sağlar, bu nedenle kullanımı genellikle daha kolaydır ve RichTextBlock'tan daha iyi metin işleme performansı sağlayabilir. Çoğu uygulama kullanıcı arabirimi metni için tercih edilir. Metne satır sonları koyabilirsiniz ancak TextBlock tek bir paragrafı görüntüleyecek şekilde tasarlanmıştır ve metin girintisini desteklemez.

Doğru metin denetimini seçme hakkında daha fazla bilgi için Metin denetimleri makalesine bakın.

Recommendations

Bkz. Tipografi ve Yazı tipleri için yönergeler.

Zengin metin bloğu oluşturma

WinUI 3 Galeri simgesi WinUI 3 Galeri uygulaması, WinUI denetimlerinin ve özelliklerinin etkileşimli örneklerini içerir. uygulamayı Microsoft Store adresinden alın veya GitHub üzerindeki kaynak koduna göz atın.

RichTextBlock'un content özelliği, Paragraph öğesi aracılığıyla paragraf tabanlı metni destekleyen Blocks özelliğidir. Uygulamanızda denetimin metin içeriğine kolayca erişmek için kullanabileceğiniz bir Text özelliği bulunmamaktadır. Ancak RichTextBlock, TextBlock'un sağlamadığı birkaç benzersiz özellik sağlar.

RichTextBlock şu desteği destekler:

  • Birden çok paragraf. TextIndent özelliğini ayarlayarak paragrafların girintisini ayarlayın.
  • Satır içi kullanıcı arabirimi öğeleri. Görüntü gibi kullanıcı arabirimi öğelerini metninizle satır içi olarak görüntülemek için InlineUIContainer kullanın.
  • Taşma kapları. Çok sütunlu metin düzenleri oluşturmak için RichTextBlockOverflow öğelerini kullanın.

Paragraflar

RichTextBlock denetiminde görüntülenecek metin bloklarını tanımlamak için Paragraf öğelerini kullanırsınız. Her RichTextBlock en az bir Paragraf içermelidir.

RichTextBlock.TextIndent özelliğini ayarlayarak bir RichTextBlock içindeki tüm paragraflar için girinti miktarını ayarlayabilirsiniz. Paragraph.TextIndent özelliğini farklı bir değere ayarlayarak RichTextBlock içindeki belirli paragraflar için bu ayarı geçersiz kılabilirsiniz.

<RichTextBlock TextIndent="12">
  <Paragraph TextIndent="24">First paragraph.</Paragraph>
  <Paragraph>Second paragraph.</Paragraph>
  <Paragraph>Third paragraph. <Bold>With an inline.</Bold></Paragraph>
</RichTextBlock>

Satır içi kullanıcı arabirimi öğeleri

InlineUIContainer sınıfı, metninizle tüm UIElement satır içi öğelerini eklemenizi sağlar. Yaygın bir senaryo, metninizle birlikte bir Görüntü satır içi yerleştirmektir, ancak Düğme veya Onay Kutusu gibi etkileşimli öğeleri de kullanabilirsiniz.

Aynı konuma birden fazla öğeyi satır içine eklemek istiyorsanız, tek bir InlineUIContainer alt öğesi olarak bir panel kullanmayı ve ardından birden çok öğeyi bu panele yerleştirmeyi göz önünde bulundurun.

Bu örnekte, RichTextBlock'a görüntü eklemek için InlineUIContainer'ın nasıl kullanılacağı gösterilmektedir.

<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>

Taşma kapsayıcıları

Çok sütunlu veya diğer gelişmiş sayfa düzenleri oluşturmak için RichTextBlock'u RichTextBlockOverflow öğeleriyle birlikte kullanabilirsiniz. RichTextBlockOverflow öğesinin içeriği her zaman bir RichTextBlock öğesinden gelir. RichTextBlockOverflow öğelerini bir RichTextBlock veya başka bir RichTextBlockOverflow'un OverflowContentTarget değeri olarak ayarlayarak bağlayabilirsiniz.

aşağıda iki sütun düzeni oluşturan basit bir örnek verilmiştır. Daha karmaşık bir örnek için Örnekler bölümüne bakın.

<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>

Metni biçimlendirme

RichTextBlock düz metin depolasa da, metnin uygulamanızda nasıl işlendiğini özelleştirmek için çeşitli biçimlendirme seçenekleri uygulayabilirsiniz. Metnin görünümünü değiştirmek için FontFamily, FontSize, FontStyle, Foreground ve CharacterSpacing gibi standart denetim özelliklerini ayarlayabilirsiniz. Metninizi biçimlendirmek için satır içi metin öğelerini ve Tipografi ekli özelliklerini de kullanabilirsiniz. Bu seçenekler yalnızca RichTextBlock'un metni yerel olarak nasıl görüntülediğini etkiler, dolayısıyla metni kopyalayıp zengin bir metin denetimine yapıştırırsanız, örneğin biçimlendirme uygulanmaz.

Satır içi öğeler

Microsoft.UI.Xaml.Documents ad alanı , metninizi biçimlendirmek için kullanabileceğiniz Kalın, İtalik, Çalıştır, Span ve LineBreak gibi çeşitli satır içi metin öğeleri sağlar. Metnin bölümlerine biçimlendirme uygulamanın tipik bir yolu, metni bir Run veya Span öğesine yerleştirmek ve ardından bu öğeye özellikler ayarlamaktır.

Burada ilk cümlesi kalın, mavi, 16 punto metinle gösterilen bir paragraf bulabilirsiniz.

<Paragraph>
    <Bold><Span Foreground="DarkSlateBlue" FontSize="16">Lorem ipsum dolor sit amet</Span></Bold>
    , consectetur adipiscing elit.
</Paragraph>

Typography

Tipografi sınıfının ekli özellikleri, bir dizi Microsoft OpenType tipografi özelliğine erişim sağlar. Bu ekli özellikleri burada gösterildiği gibi RichTextBlock'ta veya tek tek satır içi metin öğelerinde ayarlayabilirsiniz.

<RichTextBlock Typography.StylisticSet4="True">
    <Paragraph>
        <Span Typography.Capitals="SmallCaps">Lorem ipsum dolor sit amet</Span>
        , consectetur adipiscing elit.
    </Paragraph>
</RichTextBlock>

Metin denetimleri

Tasarımcılar için

Geliştiriciler için (XAML)

  • TextBox sınıfı
  • PasswordBox sınıfı

Geliştiriciler için (diğer)