Xây dựng ứng dụng RichTextBox bằng WPF.

RichTextBox là một trong những điều khiển có chức năng phong phú, nó không chỉ cho phép soạn, sửa và hiển thị nội dung text đơn thuần mà còn cho phép thay đổi font chữ, kiểu chữ… Đặc biệt, từ phiên bản 3.0 nó đã hỗ trợ tính năng gợi ý sửa lỗi chính tả tiếng Anh của nội dung văn bản trong đó.
Để thêm mới một RichTextBox, ta thêm mã XAML sau:
<RichTextBox x:Name="XAMLRichBox" SpellCheck.IsEnabled="True" MinHeight="100"></RichTextBox>
x:Name là từ khóa xác định danh tính của RichTextBox được tạo.
MinHeight xác định số dòng có thể thấy được của RichTextBox, giá trị được ngầm định là 1.
SpellCheck.IsEnabled="True" kích hoạt tính năng kiểm tra lỗi chính tả tiếng Anh trong nội dung văn bản.
Tuy nhiên, chỉ với RichTextBox thì ta không thể sửa đổi định dạng như đánh nghiêng, in đậm, đổi font chữ,… Muốn làm được, ta cần phải thông qua giao diện Command.
Thuộc tính Command trên mỗi điều khiển sẽ xác định chức năng mà ta muốn kích hoạt trên RichTextBox.
Thuộc tính CommandTarget xác định RichTextBox nào ta muốn chức năng kích hoạt của các nút bấm nhằm vào.
Dưới đây là một đoạn mã XAML đầy đủ cho phép bạn xây dựng một RichTextBox có thể in nghiêng, gạch chân, in đậm.

<Window x:Class="FirstWPFApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="RichTextBox" Height="237" Width="296">
    <StackPanel Orientation="Vertical">
        <ToolBar>
            <ToggleButton MinWidth="40" Command="EditingCommands.ToggleBold" CommandTarget="{Binding ElementName=XAMLRichBox}" TextBlock.FontWeight="Bold">B</ToggleButton>
            <ToggleButton MinWidth="40" Command="EditingCommands.ToggleItalic" CommandTarget="{Binding ElementName=XAMLRichBox}" TextBlock.FontStyle="Italic">I</ToggleButton>
            <ToggleButton MinWidth="40" Command="EditingCommands.ToggleUnderline" CommandTarget="{Binding ElementName=XAMLRichBox}">
                <TextBlock TextDecorations="Underline">U</TextBlock>
            </ToggleButton>
        </ToolBar>
        <RichTextBox x:Name="XAMLRichBox" MinHeight="100" SpellCheck.IsEnabled="True"></RichTextBox>
    </StackPanel>
</Window>


Kết quả là:

Khá đon giản phải không các bạn, chỉ cần vài dòng code là đã có thể tạo ra được một RichTextBox rồi. Các bạn có thể thêm các chức năng khác hay nới rộng số lượng kí tự cho phép,… vào RichTextBox của mình để tạo cho mình một RichTextBox hoàn hảo.
Chúc các bạn thành công.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s