web-dev-qa-db-ja.com

テキストを切り捨てるのではなく折り返すセルでWPF Datagridを取得するにはどうすればよいですか?

テキストを切り捨てるのではなく折り返すセルを持つWPF DataGridを取得するには、何をする必要がありますか?

現在、テキストが大きく、列に収まらない場合、テキストは切り捨てられ、DataGridのIsReadOnlyプロパティがtrueであるため、ユーザーはその値を見ることができません。私が欲しいのは、セル内のテキストが折り返され、セルの高さ(セル幅なし)がすべてのテキストを表示するのに必要な量を増やしたことです。

48
gsi-frank

テキストの折り返しが有効になっているTextBlockを使用してセルをテンプレート化することができます。

13
H.B.

@ 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>
95
D.Rosado

D.Rosadosソリューションに似たものを作成しました。ただし、ラッピングが必要な列がさらにある場合は、鉱山を再利用できます。

<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>
23
Rahbek

編集およびテキストDataGrid列のテキストラップを設定する別の簡単な方法は、BindingプロパティとTextWrappingプロパティを次のように指定することです。

<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>
0
sheraz yousaf