如何使用WPF RichTextBoxToolBar控件为richtextbox设置透明背景?

时间:2015-08-13 19:01:34

标签: c# wpf xaml richtextbox

我正在使用this代码项目项目中的WPF RichTextBoxToolBar控件,并结合Exteneded WPF Toolkit RichTextBox控件。

当我第一次输入文字而没有格式化时,一切正常,背景为Transparent。但是,当我使用工具栏将背景设置为Transparent时,它实际上将其设置为White。我注意到文本的RTF格式中有额外的\highlight1参数来做这件事。

有没有人有这个工具栏的经验?有没有办法改变这种行为?我可以禁用背景颜色选择器命令吗?

以下是我为调查此问题而进行的一个小型测试项目的代码。该项目只需要从NuGet安装Extended WPF Toolkit并从this zip引用dll。

XAML:

<Window x:Class="RtbTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:rtb="clr-namespace:RichTextBoxToolBar;assembly=RichTextBoxToolBar"
        xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <DockPanel>
        <rtb:RichTextBoxToolBar Margin="0,0,0,5" DockPanel.Dock="Top" Name="EditTextToolbar" />

        <StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal">
            <Button Content="Save RTF text" Click="ShowRtfText"/>
            <Button Content="Reload RTF text" Click="ReloadRtfText"/>
        </StackPanel>

        <toolkit:RichTextBox Name="EditTextRtb">
            <toolkit:RichTextBox.TextFormatter>
                <toolkit:RtfFormatter />
            </toolkit:RichTextBox.TextFormatter>
        </toolkit:RichTextBox>
    </DockPanel>
</Window>

代码隐藏:

namespace RtbTest
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void ShowRtfText(object sender, RoutedEventArgs e)
        {
            MessageBox.Show(EditTextRtb.Text);
        }

        private void ReloadRtfText(object sender, RoutedEventArgs e)
        {
            string rtfText;

            rtfText = EditTextRtb.Text;
            EditTextRtb.Text = rtfText;
        }
    }
}

0 个答案:

没有答案