2013-09-01 24 views
11

Có một RichTextBox với Đoạn bên trong nó. Làm thế nào để thay đổi lề của đoạn bên trong? Không có tài sản như vậy. Thiết lập của RichTextBox.Padding thành "-12,0" giúp, nhưng trông giống như một hack xấu xí.Làm thế nào để thay đổi số tiền ký quỹ trong Windows Phone 8 XAML?

+1

* Đó là WP8 XAML, không Windows8 XAML * Đây là lần đầu tiên mà cắn tôi trước. Tôi cho rằng có một số phương pháp khác cho việc này. 1 cho các vết sưng. – Will

Trả lời

1

Làm thế nào về tùy chọn này: khóa cũng xấu xí, nhưng vẫn:

<StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
      <RichTextBox> 
       <Paragraph> 
        <InlineUIContainer> 
         <TextBlock x:Name="tbMargin" Margin="100,0,0,0"></TextBlock> 
        </InlineUIContainer> 
        Hi from Paragraph 
       </Paragraph>    
      </RichTextBox>   
     </StackPanel> 
1

Một hack: (ít nhất là cho lề trái :)

<Paragraph xml:space="preserve"> 
    Hi from Paragraph 
    Hi from Paragraph 2 
</Paragraph> 
1

Bạn chỉ cần thiết lập TextIndent tài sản của Đoạn . Tôi sẽ chỉ cho bạn một mẫu:

<RichTextBox> 
     <FlowDocument> 
      <Paragraph TextIndent="6"><Run Text="Paragraph 1"/></Paragraph> 
      <Paragraph TextIndent="12"><Run Text="Paragraph 2"/></Paragraph> 
      <Paragraph TextIndent="18"><Run Text="Paragraph 3"/></Paragraph> 
      <Paragraph TextIndent="24"><Run Text="Paragraph 4"/></Paragraph> 
     </FlowDocument> 
    </RichTextBox> 

này sẽ cho kết quả như sau:
TextIndent of Paragraph

2

By RichTextBox mặc định sẽ có một biên độ (12,0,12,0) cho các phần tử biên giới gốc của nó và do đó không gian bên trái và bên phải của bạn sẽ được thêm vào theo mặc định. Nếu bạn muốn thay đổi hành vi, bạn phải tùy chỉnh chính mẫu RichTextBox.

Bạn có thể sử dụng mẫu này và tránh bổ sung lề được thêm ở bên trái và bên phải.

<ControlTemplate TargetType="RichTextBox"> 
    <Grid Background="Transparent"> 
     <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}"> 
      <ContentControl x:Name="ContentElement" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/> 
     </Border> 
    </Grid> 
</ControlTemplate> 

Kính trọng, Mawy

Các vấn đề liên quan