2010-03-04 4 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

StyleFrameworkElement으로부터 상속받은 요소가 지원하는 속성 및 메커니즘입니다. 그러나 RichTextBox의 내용은 가볍기 때문에 FrameworkElement 또는 UIElement이 해당 클래스 조상에 없습니다.

내가 완화 할 수있는 유일한 방법은 누락 된 Style 속성을 대신 할 첨부 속성을 만드는 것입니다. 그러나 당신은 그 연결된 속성에 다른 속성들의 모든 설정을 구현했을 것입니다. 인라인 Xaml이 동일한 속성을 설정하는 경우 문서 순서에 민감합니다.

+0

통찰력을 얻은 Anthony에게 감사하고 너무 나쁘다. ''의 스타일을 만들 수는 있지만 사용하지 못하는 것은 의미가없는 것처럼 보입니다. 아마 SL4의 RC 또는 RTW 버전이 그것을 제공 할 것입니다. –

+0

@Otaku : 'FrameworkElement'를 참조하지 않는 것을 만들 수 있다는 것이 이상하게 보일 수도 있지만 그 접근 방식이 옳다고 생각합니다. 위험 할 정도로 문을 열어두면 합리적입니다. 예를 들어, 위의 제 제안은 그러한 제한이 있었다면 초보자가 될 수 없습니다. – AnthonyWJones

관련 문제