텍스트를 잘라내는 대신 줄바꿈하는 셀을 사용하여 WPF 데이터 그리드를 얻는 방법은 무엇입니까?
텍스트를 잘라내는 대신 줄바꿈하는 셀을 사용하여 WPF DataGrid를 얻으려면 어떻게 해야 합니까?
텍스트가 더 크고 열에 맞지 않으면 DataGrid의 IsReadOnly 속성이 참이기 때문에 텍스트가 잘리고 사용자가 값을 볼 수 없습니다.원하는 것은 셀의 텍스트를 랩하고 셀 높이(NO CELL WIDE)를 높여 모든 텍스트를 표시하는 것입니다.
@H.B.를 이용해 주셔서 감사합니다(정렬은 옵션입니다).
<DataGrid.Columns>
<DataGridTextColumn Header="Wrapped & centered" Binding="{Binding field}">
<DataGridTextColumn.ElementStyle>
<Style>
<Setter Property="TextBlock.TextWrapping" Value="Wrap" />
<Setter Property="TextBlock.TextAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
저는 D와 비슷한 것을 만들었습니다.로자도스 솔루션하지만 랩핑이 필요한 컬럼이 더 있으면 내 컬럼을 재사용할 수 있습니다.
<UserControl.Resources>
<Style TargetType="{x:Type TextBlock}" x:Key="WrapText">
<Setter Property="TextWrapping" Value="Wrap"/>
</Style>
</UserControl.Resources>
<DataGrid.Columns>
<DataGridTextColumn IsReadOnly="False" Header="Address"
Binding="{Binding Address}" ElementStyle="{StaticResource WrapText}" Width="150"/>
</DataGrid.Columns>
셀을 템플릿으로 만들 수 있습니다.TextBlock
문자 변환이 유효하게 되어 있습니다.
여기에 다른 솔루션과 함께 추가되는 다른 솔루션이 있습니다.
<DataGridTemplateColumn Header="MyFieldName" Width="150" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding MyField}" TextWrapping="Wrap">
<TextBlock.ToolTip>
<TextBlock Text="{Binding MyField}" />
</TextBlock.ToolTip>
</TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
편집 및 텍스트 데이터 그리드 열에 텍스트 줄 바꿈을 설정하는 또 다른 간단한 방법은 다음과 같이 바인딩 속성 및 텍스트 줄 바꿈 속성을 지정하는 것입니다.
<DataGridTemplateColumn x:Name="ColumnName" Header="Column Header Goes Here">
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=DataBoundProperty, Mode=TwoWay}" TextWrapping="Wrap"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DataBoundProperty, Mode=OneWay}" TextWrapping="Wrap"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
언급URL : https://stackoverflow.com/questions/4671836/how-get-a-wpf-datagrid-with-cells-that-wrap-text-instead-of-truncating-it
'programing' 카테고리의 다른 글
Windows에 /dev/null이 있습니까? (0) | 2023.04.10 |
---|---|
InvokeAsync와 Begin의 차이점은 무엇입니까?WPF 디스패처 호출 (0) | 2023.04.10 |
Android strings.xml에 문자 &을 쓰는 방법 (0) | 2023.04.10 |
Swift에서 탐색 모음 색상 변경 (0) | 2023.04.10 |
Swift에서 어레이에서 중복 요소 제거 (0) | 2023.04.10 |