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

Wpf 有没有办法拥有RichTextBox';从ResourceDictionary的StaticResource设置的段落样式?,wpf,xaml,Wpf,Xaml,我注意到有一种流行的方法可以删除常规RichTextBox中段落的边距: 但是,我想知道是否有一种方法可以在ResourceDictionary中使用这种样式,然后将它作为引用的静态资源用于RichTextBox的段落 如果没有,是什么阻止了它?我只找到了将其设置为默认样式的方法。当然。这应该很直截了当: 字典1.xaml: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentat

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


但是,我想知道是否有一种方法可以在ResourceDictionary中使用这种样式,然后将它作为引用的静态资源用于RichTextBox的段落


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

当然。这应该很直截了当:

字典1.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>

用法:

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


我不知道自己在想什么。默认样式是我唯一需要的样式,因为我需要它(对于自动附加的段落,不是显式的),而且因为我已经知道默认样式方法,所以我不应该问这个问题。但是,从技术上来说,这是一个准确的问题答案,我会投票并接受,以防将来对初学者有所帮助。事实上,我可能正在寻找一种自动附加段落的模板方法,但这没什么大不了的,我还没有读到这本书的这一部分。