有没有办法从ResourceDictionary的StaticResource设置RichTextBox的段落样式?

时间:2017-02-09 03:48:19

标签: wpf xaml

我注意到这种流行的方法可以删除常规RichTextBox中段落的边距:

<RichTextBox>
  <RichTextBox.Resources>
    <Style TargetType="{x:Type Paragraph}">
      <Setter Property="Margin" Value="0"/>
    </Style>
  </RichTextBox.Resources>
</RichTextBox>

但是,我想知道是否有办法在ResourceDictionary中使用该样式,然后将其用作RichTextBox的段落作为引用的StaticResource。

如果没有,是什么阻止了它?我只找到了将其设置为默认样式的方法。

1 个答案:

答案 0 :(得分:1)

不确定。它应该非常简单:

<强> Dictionary1.xaml:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Style x:Key="pStyle" TargetType="{x:Type Paragraph}">
        <Setter Property="Margin" Value="0"/>
    </Style>
</ResourceDictionary>

<强>用法:

<RichTextBox>
    <RichTextBox.Resources>
        <ResourceDictionary Source="Dictionary1.xaml" />
    </RichTextBox.Resources>
    <FlowDocument>
        <Paragraph Style="{StaticResource pStyle}">
            <Run Text="some text..." />
        </Paragraph>
    </FlowDocument>
</RichTextBox>