读书人

关于silverlight4中给控件设置tooltip

发布时间: 2012-04-07 17:31:50 作者: rapoo

关于silverlight4中给控件设置tooltip的问题
问题是:如果使用 ToolTipService.SetToolTip(img, product.cDescription);这种方式设置的话,一旦说明很长,tooltip不能换行,而且也不能显示富文本,所以想请教各位有经验的朋友,怎么样能让tooltip显示的更为美观些,tooptip需要动态去加载,并不是写死到xaml里面,需要使用后台代码去加载tooltip的内容。
就和网游里面显示装备属性的类似就可以
谢谢~

[解决办法]
你可以自己定制Tip的Template。使你的Tip更美观。
毕竟Tip是一个Contentcontrol。。所以,你需要什么就往里面塞什么。

比如你所说的折行问题。我大概实现了下

C# code
            TextBox textBox1 = new TextBox();            TextBox textBox2 = new TextBox() { TextWrapping = TextWrapping.Wrap, Width = 100 };            Binding bindings = new Binding();            bindings.Path = new PropertyPath("Text");            bindings.Source = textBox1;            textBox2.SetBinding(TextBox.TextProperty,bindings);            this.controlContainer.Children.Add(textBox1);            ToolTip tip = new ToolTip();            tip.Content = textBox2;            ToolTipService.SetToolTip(textBox1, tip);
[解决办法]
Silverlight 3.0中是可以设置 Offset 的吧,不是有这些依赖项属性么:
HorizontalOffsetProperty 标识 HorizontalOffset 依赖项属性。
PlacementProperty 标识 Placement 依赖项属性。
PlacementTargetProperty 标识 PlacementTarget 依赖项属性。
VerticalOffsetProperty 标识 VerticalOffset 依赖项属性。

确实不能控制 Duration 是不能用来显示装备属性咯~
[解决办法]
4楼的开源项目不错可以参考。也可以参考这篇:


【开源教程】美化Silverlight ToolTip

http://silverlightchina.net/html/works/2010/0218/726.html


http://silverlightchina.net/html/works/2010/0315/842.html

http://silverlightchina.net/html/developer/2009/1117/240.html

读书人网 >CAD教程

热点推荐