WPF中datagrid的DataGridTextColumn显示多行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF中datagrid的DataGridTextColumn显示多行相关的知识,希望对你有一定的参考价值。

在线急等啊!

<DataGridTextColumn Header="地址" Width="5*" Binding="Binding Url">
       <DataGridTextColumn.ElementStyle>
               <Style TargetType="TextBlock">
                        <Setter Property="TextWrapping" Value="Wrap"/>
                        <Setter Property="Height" Value="auto"/>
               </Style>
      </DataGridTextColumn.ElementStyle>
</DataGridTextColumn>

在代码中增加textBlock 的style  TextWrapping=Wrap 就能换行了,而且要设置行高为auto,不然显示不出来

参考技术A

为 DataGridTextColumn 指定 ElementStyle 和 EditingElementStyle 可达到目的。如下:

<DataGridTextColumn Header="描述"
    Width="*"
    Binding="Binding Descripstion">
    <!--查看模式下的多行显示-->
    <DataGridTextColumn.ElementStyle>
        <Style TargetType="TextBlock">
            <Setter Property="TextWrapping" Value="Wrap"/>
            <Setter Property="Height" Value="auto"/>
        </Style>
    </DataGridTextColumn.ElementStyle>
    <!--编辑模式下可输入换行(按回车键)-->
    <DataGridTextColumn.EditingElementStyle>
        <Style TargetType="TextBox">
            <Setter Property="AcceptsReturn" Value="True"/>
            <Setter Property="AcceptsTab" Value="True"/>
            <Setter Property="Height" Value="auto"/>
        </Style>
    </DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>

参考技术B 修改datagrid的模板,将要使用到DataGridTextColumn的地方改为TextBox,让TextBox显示多行不就Ok了

以上是关于WPF中datagrid的DataGridTextColumn显示多行的主要内容,如果未能解决你的问题,请参考以下文章

wpf datagrid怎么得到焦点?用datagrid.focus()不行

wpf datagrid 怎么增加数据行

在wpf中怎么获取datagrid某行某列的值

wpf datagrid 滚动条如何设置宽度和颜色

wpf 怎么给datagrid 右键菜单加多个选项?

wpf datagrid绑定了数据 如果选中多行中怎么获取选中行的某列的值