2014-06-17 4 views
-1

ItemsControl 내부의 모든 항목 (여기서는 TextBox)이 어떻게 세로 스크롤 막대를 표시 할 수 있습니까?ItemsControl 항목에 스크롤 막대 표시

모든 확장자 주위에 세로 스크롤 막대가 표시되는 것을 원하지 않습니다.

코드 그게 전부 내가 시도 :

<ItemsControl ScrollViewer.HorizontalScrollBarVisibility="Hidden" ItemsSource="{Binding Path=ErrorLogs}"> 
    <ItemsControl.ItemsPanel> 
     <ItemsPanelTemplate> 
      <VirtualizingStackPanel IsVirtualizing="True" VirtualizationMode="Recycling"/> 
     </ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel>      
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <Expander Margin="0" Header="{Binding FileName}" Background="Green"> 
       <Controls:BindableTextBox Background="Red"           
        Text="{Binding Content, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/> 
      </Expander> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 
+1

가있는 ScrollViewer에 넣어? – Clemens

+0

이전에이 작업을 수행했지만 각각의 TextBox가 ItemsControl이 아닌 스크롤 막대를 수직으로 가져 오기를 원합니다. – Pascal

답변

0

당신은 텍스트 상자

예에 여러 줄을 가능하게하는 ScrollViewer에

<DataTemplate> 
    <Expander Margin="0" 
       Header="{Binding FileName}" 
       Background="Green"> 
     <ScrollViewer VerticalScrollBarVisibility="Visible"> 
      <Controls:BindableTextBox Background="Red" 
             Text="{Binding Content, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" /> 
     </ScrollViewer> 
    </Expander> 
</DataTemplate> 

(2)의 내부 포장, 두 가지 옵션

1

있습니다.

<DataTemplate> 
    <Expander Margin="0" 
       Header="{Binding FileName}" 
       Background="Green"> 
     <TextBox Background="Red" 
       AcceptsReturn="True" TextWrapping="Wrap" 
       Text="{Binding Content, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" /> 
    </Expander> 
</DataTemplate> 

나는 컨트롤에 대한 확실하지 않다 : BindableTextBox 그렇게 여러 줄을 사용하여 가용성에 따라 달라집니다

+0

WindowsFormsHost에서 상속 된 Winforms TextBox 인 BindableTextBox를 사용해야합니다. 거기서 textBox.Multiline = true를 설정했습니다. textBox.WordWrap = true ;. 스크롤 막대는 세로로 표시되지만 전체 레이아웃을 오버플로하는 텍스트가 충분하지만 LOL은 회색으로 표시됩니다. – Pascal

+0

텍스트 상자에 최대 높이를 지정하여 원하는 높이로만 확장 한 다음 스크롤 막대를 활성화 할 수 있습니다. – pushpraj