关于silverlight4中给控件设置tooltip的问题
问题是:如果使用 ToolTipService.SetToolTip(img, product.cDescription);这种方式设置的话,一旦说明很长,tooltip不能换行,而且也不能显示富文本,所以想请教各位有经验的朋友,怎么样能让tooltip显示的更为美观些,tooptip需要动态去加载,并不是写死到xaml里面,需要使用后台代码去加载tooltip的内容。
就和网游里面显示装备属性的类似就可以
谢谢~
[解决办法]
你可以自己定制Tip的Template。使你的Tip更美观。
毕竟Tip是一个Contentcontrol。。所以,你需要什么就往里面塞什么。
比如你所说的折行问题。我大概实现了下
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