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,不然显示不出来

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-08-02

为 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>

第2个回答  2012-05-22
修改datagrid的模板,将要使用到DataGridTextColumn的地方改为TextBox,让TextBox显示多行不就Ok了

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.Element...

WPF的DataGrid怎么实现多行表头
<Style x:Key="CityNumStyle" TargetType="DataGridColumnHeader"> <Setter Property="Template"> <Setter.Value> <ControlTemplate> <Grid x:Name="Root"> <!--<Rectangle x:Name="BackgroundGradient" Fill="#eee" Stretch="Fill" Grid.ColumnSpan="2" \/>--> <ContentPresenter Content="区号"...

WPF的DataGrid怎么实现多行表头
1.添加行和列:通过FlexGrid.Columns.Add和FlexGrid.Rows.Add方法添加行和列。2.添加多行表头:通过FlexGrid.ColumnHeaders.Rows.Add方法,在ColumnHeaders区域添加多行的表头,实现多行表头。3.设置Caption内容:通过FlexGrid.ColumnHeaders[row, column]设置Caption内容。4.合并:通过使用AllowMerging属性对表...

怎么使wpf datagrid 一行中有多行 例如第一列是一行显示,第二列是三行...
list()用bindinglist<>来替换,在把绑定对象绑定到bindinglist<>对象里就可以了。如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!vaela

wpf 中 DataGrid有没属性 可以显示当前有多少行数
1把结果集的count付值给绑定label.Content属性的那个属性上(我这里就是SelectedCount属性),你的模糊查询在vm里完成,那个属性当然也在vm里... 必须的...2然后调用INotifyPropertyChanged.PropertyChanged通知画面更新 就可以了 顺便说一句 应该就是程序往画面的更新 所以绑定mode应该是Oneway ...

如何给WPF中的DataGrid的ComBox编辑列添加数据
请您点一下推荐 × WPF项目中现有一个DataGrid,其中有一个名为“姓名”的模板列和名为“工号”的文本列,模板列在编辑时是一个ComBox,要实现的功能:ComBox的选项是从数据查询得到的姓名列表(如人员表中性别为女的人的姓名列表),选择其中的某个姓名,TextBlock显示选择的该姓名,“工号”列显示...

WPF DataGrid 如何对选择的多行进行删除
。。 在WPF中也是一样的。。下面是一个解决方法。。。前提条件: 窗体中有一个名为datagrid1的DataGrid, 点击一个button, 进行删除多行数据的操作下面是主要代码:

WPF中使用datagrid显示数据库里面的内容
<DataGrid AutoGenerateColumns="False" Height="418" HorizontalAlignment="Left" Name="dataGrid1" VerticalAlignment="Top" Width="316" > <DataGrid.Columns> <DataGridTextColumn Header="列名" Binding="{Binding Path=你的ds.Tables[0]的某一列的列名, Mode=TwoWay}" Width="380"\/> ...

wpf 拖动滚动条时,TextBox填入的数据自动跳到其他行
你的做法不对哈,celltemplate里面定义的数据模板是公用的,在一个文本框里面输入数据了,随着显示切换,这个“公用”的文本框会跳到其他行去。正确的做法是使用如下几个属性:EditingElementStyle设置编辑模板,具体使用方式不详说了自己翻阅msdn或者度娘,<DataGridTextColumn.CellStyle><\/DataGridTextColumn....

WPF DataGridTextColumn 怎么绑定一个事件命令
如果要实现类似点击header里面checkbox全选或反选的话,你要用DataGridTemplateColumn,然后在模板里设置UIElement,然后绑定Command或Event 如果要实现点击header排序的话,就需要设置CanUserSort="True"和SortMemberPath

相似回答