WEB开发网
开发学院图形图像Flash Silverlight 2 : 关于ListBox的一个Layout Bug及其... 阅读

Silverlight 2 : 关于ListBox的一个Layout Bug及其解决方法

 2009-03-04 11:58:41 来源:WEB开发网   
核心提示: 可以看出来, 值设置为Left的属性仅有2个:第3行 HorizontalContentAlignment第50行 HorizontalAlignment问题出在了第50行的这个Left, 它默认将一个List Item中的所有内容都按照想做对齐的方式排列. 由于这个style已经写在了S

可以看出来, 值设置为Left的属性仅有2个:

第3行 HorizontalContentAlignment

第50行 HorizontalAlignment

问题出在了第50行的这个Left, 它默认将一个List Item中的所有内容都按照想做对齐的方式排列. 由于这个style已经写在了Silverlight Runtime内, 所以我们只能重写这个Style去掉这一行并为ListBox指定新的Style.

解决方法:

为ListBox添加属性 HorizontalContentAlignment="Stretch", 强制Fill

在App.xaml中添加命名空间: xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"

在App.xaml中添加去掉了HorizontalAlignment="Left"的Style, 并给它的key命名为ListBoxItemContainerStyle --- x:Key="ListBoxItemContainerStyle"

为ListBox添加属性 ItemContainerStyle="{StaticResource ListBoxItemContainerStyle}, 指定用户自定义Style

Done!

现在你可以看到这个运行结果了:

Silverlight 2 : 关于ListBox的一个Layout Bug及其解决方法

图片看不清楚?请点击这里查看原图(大图)。

中间的年龄部分是可以随着窗体大小变化自动变化宽度的.

从这里学习如何为已有控件自定义style: Customizing the Appearance of an Existing Control by Creating a ControlTemplate

Silverlight的前辈们请手下留情, 但愿我不是井底之蛙! 希望本文能帮助那些和我一样的后来人.

文章来源:http://www.cnblogs.com/sun/archive/2009/03/04/1402648.html

上一页  1 2 

Tags:Silverlight 关于 ListBox

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接