6

私の WPF データグリッドの列は固定幅です。つまり、行の長いテキストは切り取られます。テキストを折り返すにはどうすればよいですか?

4

3 に答える 3

8

DataGridTextColumnを使用している場合は、DataGridTextColumn.ElementStyleのスタイルを定義する必要があります

<dg:DataGridTextColumn Header="SomeLongText" Binding="{Binding MyText}">
  <dg:DataGridTextColumn.ElementStyle>
    <Style TargetType="TextBlock">
      <Setter Property="TextWrapping" Value="Wrap"/>
    </Style>
  </dg:DataGridTextColumn.ElementStyle>
</dg:DataGridTextColumn>

完全な説明は、次のhttp://msdn.microsoft.com/en-us/library/system.windows.controls.datagridtextcolumn(v=vs.95).aspxにあります。

于 2011-10-19T21:48:04.443 に答える
5

Textwrapping が有効になっている Textblock でセルを置き換えることができます。すなわち

<dg:DataGridTemplateColumn Header="Description" Width="*">
   <dg:DataGridTemplateColumn.CellTemplate>
       <DataTemplate>
           <TextBlock Text="{Binding Description}" TextWrapping="WrapWithOverflow"/>                                    
       </DataTemplate>
   </dg:DataGridTemplateColumn.CellTemplate>
</dg:DataGridTemplateColumn>
于 2009-12-24T22:29:36.947 に答える
1

DataGridTextColumn がコード ビハインドで作成されている場合、スタイルとセッターを次のように設定できます。

        _dataGridTextColumn.MaxWidth = 550;
        _dataGridTextColumn.ElementStyle = new System.Windows.Style(typeof(TextBlock));
        _dataGridTextColumn.ElementStyle.Setters.Add(new Setter(TextBlock.TextWrappingProperty, TextWrapping.Wrap));

これにより、_dataGridTextColumn 内のテキストが、TextBlock 内と同じように折り返されます。

于 2014-05-02T18:57:48.413 に答える