2009-12-02 5 views
2

색상 및 서식이있는 텍스트를 List에 표시해야합니다. 나는 RichTextControl과 함께 ListBox을 사용하여 데이터를 표시합니다. 창 크기에 맞게 내용이 필요하지만 텍스트를 줄 바꿈하지 않아도됩니다.WPF의 RichTextBox에서 내용의 크기가 올바르게 조정되지 않음

이 간단한 예제를 만들면 텍스트가 세로로 나타나며 창 크기를 조정해도 변경되지 않습니다. RichTextBoxWidth을 100과 같은 고정 크기로 설정하면 작동합니다.

아이디어가 있으십니까?

<Window x:Class="WpfApplication19.Window1" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="Window1" Height="300" Width="300"> 
    <Grid> 
     <ListBox HorizontalContentAlignment="Stretch"> 
      <ListBox.Items> 
       <RichTextBox> 
        <FlowDocument> 
         <Paragraph> 
          <Run>this is a test</Run> 
         </Paragraph> 
        </FlowDocument> 
       </RichTextBox> 
      </ListBox.Items>     
     </ListBox> 
    </Grid> 
</Window> 

텍스트를 표시하는 데 더 좋은 옵션이있는 경우 텍스트의 일부가 다른 색상으로 알려주십시오.

+0

을의에 당신이 등의 선택을 할 수 있도록이 목록 상자가 필요하십니까하거나 ReichTextBox 요소를 개최 그냥 사용하고 있습니까? –

답변

3

당신이 다음 ItemsControl를 사용하여 ListBox 목록 선택 동작이 필요하지 않은 경우 올바른 레이아웃을 제공합니다

<Grid> 
    <ItemsControl> 
     <RichTextBox> 
      <FlowDocument> 
       <Paragraph > 
        <Run>this is a test</Run> 
       </Paragraph> 
      </FlowDocument> 
     </RichTextBox> 
    </ItemsControl> 
</Grid> 

하지만 Grid 다음 바인딩에 RichTextBox 포장, 당신이 무엇을 요구받을 이 ActualWidth

<Grid> 
    <ListBox HorizontalContentAlignment="Stretch"> 
     <ListBox.Items> 
      <Grid> 
       <RichTextBox Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource AncestorType=Grid}}" > 
        <FlowDocument> 
         <Paragraph> 
          <Run>this is a test</Run> 
         </Paragraph> 
        </FlowDocument> 
       </RichTextBox> 
      </Grid> 
     </ListBox.Items> 
    </ListBox> 
</Grid> 
+0

RichTextBox가 목록 상자 항목 안에있을 때 너비를 설정해야하는 이유는 무엇입니까? –

+0

ListBox의 RichTextBox와의 상호 작용이이 문제/요구 사항의 원인인지 잘 모르겠습니다. –

+0

또한 StackPanel이있는 ScrollViewer를 사용하고 하위를 관리 할 수도 있습니다. 이것이 내가 끝내었지만, 여기에 게시 한 ItemsControl 솔루션을 선호합니다. – Kelly

관련 문제