2010-03-04 44 views
1

我在SL4Beta中使用新的RichTextBox控件,並且想要爲段落和運行(塊和內聯)創建樣式。我注意到,我可以創建一個樣式爲<Block/>,像這樣:塊/內聯的樣式屬性 - 有沒有辦法得到它?

<Style x:Key="lvl2Paragraph" TargetType="Block"> 
    <Setter Property="FontFamily" Value="Times New Roman"/> 
    <Setter Property="FontStyle" Value="Italic"/> 
    <Setter Property="FontSize" Value="22"/> 
</Style> 

但我不能組到<Paragraph/>成員「風格」成員無法識別或無法訪問。像這樣:

<RichTextBox TextWrapping="Wrap"> 
    <Paragraph Style="{StaticResource lvl2Paragraph}"> 
     Can't set a style for a paragraph. 
    </Paragraph> 
</RichTextBox> 

是否有爲RichTextBox暴露「樣式」?我願意接受所有想法。

回答

1

Style是由繼承自FrameworkElement的元素支持的屬性和機制。然而,RichTextBox的內容是輕量級的,他們在階級祖先中沒有FrameworkElement或甚至UIElement

我能想到的減輕這種情況的唯一方法是創建一個附加屬性來代替丟失的Style屬性。但是,您應該在該附加屬性中實現其他屬性的所有設置。如果內聯Xaml也設置相同的屬性,它會對文檔順序敏感。

+0

感謝安東尼的洞察力,太糟糕了,它不可能比這更容易。似乎無法爲''創建樣式,但無法使用它。也許SL4的RC或RTW版本將提供它。 – 2010-03-05 02:51:03

+0

@Otaku:看起來有點奇怪,你可以創建一個不涉及「FrameworkElement」的東西,但我認爲這種方法是正確的。如果這樣做沒有危險,那麼它合理地保持開放。例如,如果這樣的限制已經到位,我上面的建議將是一個非首發。 – AnthonyWJones 2010-03-05 07:53:36

相關問題