silverlight的DataGrid控件默认就是单行文本到头,如果设置了列的长度,文本会被截断不显示。如何实现长文本自动换行?我们首先想到的是利用Style,因为换行只是外观的改变,不是行为的改变。
1、标题换行:
其中prim名称空间是:xmlns:prim="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data"
应用Style:
ColumnHeaderStyle="{StaticResource aHeaderStyle}"
Height="162" HorizontalAlignment="Left" Margin="18,82,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="150">
2、单元格换行:
应用Style:
效果如图:
需要注意的是DataGrid或者是DataGridColumn的Width不能都是Auto,也就是必须制定一个宽度,不管是具体数值还是比例。否则,只会出现一个水平滚动条,而没有换行。
(来源:博客园 作者:slmk)