您的位置:首页 > 其它

[学习笔记]WPF设置DataGrid行内容高度自适应

2017-08-09 11:45 1716 查看
找了很多方法,进行一一试验,最后找到的方法:

用模板列,设置<textblock textwrapping=wrap>,并设定此列的宽度为 * 或固长,设置Auto就无效了(因为UI视Auto为无限长),具体如下:

原先简单的设置列名称:

<DataGrid.Columns>

 <DataGridTextColumn Header="试题编号"     Width="1*"Binding="{Binding Path=试题编号}"/>

 <DataGridTextColumn Header="科目编号"   Width="1*" Binding="{BindingPath=科目编号}"/>

 <DataGridTextColumn Header="试题内容"   Width="2*" Binding="{BindingPath=试题内容}"/>

<DataGridTextColumnHeader="试题答案"   Width="2*"Binding="{Binding Path=试题答案}"/>

</DataGrid.Columns>

增加模板列:

<DataGrid.Columns>
               
<DataGridTextColumn Header="试题编号"   
 Width="1*" Binding="{Binding
Path=试题编号}"/>
               
<DataGridTextColumn Header="类型编号"
Width="1*" Binding="{Binding
Path=类型编号}"/>
               
<DataGridTextColumn Header="科目编号" 
 Width="1*" Binding="{Binding
Path=科目编号}"/>
               
<DataGridTemplateColumn Header="试题内容" Width="2*"
>
                   
<DataGridTemplateColumn.CellTemplate>
                       
<DataTemplate>
                           
<TextBlock TextWrapping="Wrap"
VerticalAlignment="Center" Text="{Binding
Path=试题内容}"></TextBlock>
                       
</DataTemplate>
                   
</DataGridTemplateColumn.CellTemplate>
               
</DataGridTemplateColumn>
               
9b1c

<DataGridTemplateColumn Header="试题答案" Width="2*"
>
                   
<DataGridTemplateColumn.CellTemplate>
                       
<DataTemplate>
                           
<TextBlock TextWrapping="Wrap"
VerticalAlignment="Center" Text="{Binding
Path=试题答案}"></TextBlock>
                       
</DataTemplate>
                   
</DataGridTemplateColumn.CellTemplate>
               
</DataGridTemplateColumn>
            </DataGrid.Columns>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  datagrid wpf