2012年1月29日

这里有两种实现方式:

一 用ElementStyle

  <data:DataGrid  GridLinesVisibility="None" AutoGenerateColumns="False" Loaded="DataGrid_Loaded" Height="300" Width="500">
<data:DataGrid.Columns>
<data:DataGridTextColumn Width="4*" Header="User Name" Binding="{Binding UserName}"/>
<data:DataGridTextColumn Width="1*" Header="Permissions" Binding="{Binding PermissionString}">
<data:DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap"/>
</Style>
</data:DataGridTextColumn.ElementStyle>
</data:DataGridTextColumn>
</data:DataGrid.Columns>
</data:DataGrid>

Tips:一定要设置行高度才能实现换行的显示,只能手动利用DataGrid.RowHeight属性设置行高度。

缺点:每行的高度固定,不能根据内容多少自动设置高度。

二 用DataTemplate

<DataTemplate x:Key="TextDataTemplate">
<TextBlock TextWrapping="Wrap" Text="{Binding PermissionString}" ToolTipService.ToolTip="{Binding PermissionString}"/>
</DataTemplate>
<data:DataGrid  GridLinesVisibility="None" AutoGenerateColumns="False" Loaded="DataGrid_Loaded" Height="300" Width="500">
<data:DataGrid.Columns>
<data:DataGridTextColumn Width="4*" Header="User Name" Binding="{Binding UserName}"/>
<data:DataGridTemplateColumn CellTemplate="{StaticResource TextDataTemplate}" Header="Permissions" Width="1*"/>
</data:DataGrid.Columns>
</data:DataGrid>

能实现根据内容多少自动设置高度且换行。

换行效果如下:




posted @ 2012-01-29 14:55 立地太岁 阅读(135) 评论(3) 编辑

今天开发中遇到个小问题,场景如下:

<Grid>
<TextBlock Width="300" TextWrapping="Wrap" x:Name="txt"/>
</Grid>

后台代码:

 private void SetText()
{
string str = string.Format("{0}", " text test;space bar;wrapwrapwrapwrapwrapwrapwrapwrapwrapwrapwrapwrapwrap");
//str.Replace(" ", "");
this.txt.Text = str;
}

结果UI显示混乱:

效果类似于把空格当成了换行符。

先不说原因,解决方案是在每个单词前加空格。显示如下:

原因呢,TextWrapping是以一个单词为基本单位,上面的效果把test;space看成了一个单词,而加空格之后就好多了。所以以后用TextWrapping时,注意一下标点符号吧

posted @ 2012-01-29 14:03 立地太岁 阅读(29) 评论(0) 编辑

2011年11月6日

这篇真的算是随笔啦:-)。silverlight是从进入公司实习开始学习,也没有正儿八经的系统学习过。虽然是从wcf开始学,但是也没有认真的读过谁的书,感觉很有欠缺。所以要静下心来,认真学习,记入博客,记录自己曾经走过的路。

posted @ 2011-11-06 19:08 立地太岁 阅读(11) 评论(0) 编辑

2011年6月25日

Sealed(不可继承),internal(只能在本工程中使用),external(定义在外部),params(参数可以为多个),ref,out,struct(结构体,里面可以有函数的定义),new(派生类中默认使用),override,virtual,abstract,高级转换的两个as&is,重载运算符operator,explicit(显式),implicit(隐式).
posted @ 2011-06-25 16:36 立地太岁 阅读(138) 评论(0) 编辑

公告

导航

统计