2011-01-05 2 views
2

List<>에 데이터 바인딩 된 WPF DataGrid가 있습니다. 문제는 긴 멀티 라인 텍스트가있는 DataGridTextColumn 셀 중 하나이며 수직 스크롤 막대가 특정 셀의 내용을 스크롤 할 수 없도록하는 대신 다음 셀로 스크롤 만 할 수 있습니다. 누구든지이 문제가 발생 했습니까? 코드는 다음과 같습니다.WPF DataGridTextColumn이 긴 다중 행 텍스트에서 제대로 스크롤되지 않습니다.

<DataGridTextColumn Header="Value" Binding="{Binding Value}" Width="*"> 
     <DataGridTextColumn.ElementStyle> 
      <Style TargetType="TextBlock"> 
      <Setter Property="TextWrapping" Value="Wrap" /> 
      </Style> 
     </DataGridTextColumn.ElementStyle> 
     <DataGridTextColumn.EditingElementStyle> 
      <Style TargetType="TextBox"> 
      <Setter Property="TextWrapping" Value="Wrap" /> 
      <Setter Property="AcceptsReturn" Value="true" /> 
      </Style> 
     </DataGridTextColumn.EditingElementStyle> 
</DataGridTextColumn> 
+0

대체 방법이 있습니까? – odez213

답변

1

dataTemplate을 사용하는 해결 방법이 있습니다. 그런 다음 dataTemplate에는 ScrollViewer.CanContentScroll 및 ScrollViewer.VerticalScrollBarVisibility 특성이 설정된 TextBox 컨트롤이 포함되어 있습니다.

<DataGridTemplateColumn Header="Value" Width="*" IsReadOnly="True"> 
    <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <TextBox Text="{Binding Value}" AcceptsReturn="True" TextWrapping="Wrap" Height="150" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.CanContentScroll="True"></TextBox> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 
관련 문제