当我悬停或点击Silverlight应用中的对象时,如何获得类似的弹出/悬停/工具提示(参见下面的图像)?
更新:(添加了赏金)
我正在寻找能够投下阴影并显示箭头的控件。我想要3-4行数据作为控件的属性传入。
popup exampe http://www.freeimagehosting.net/uploads/4a78a786fc.gif
答案 0 :(得分:7)
Expression Blend 4具有这种标注形状,您可以对其应用<DropShadowEffect/>
。要将文本放入其中,只需将文本框和标注包装在画布中即可。来自this site:
Expression Blend 4现在包含用于轻松创建圆弧,箭头,标注和多边形的预设。可以在草图样式和常规样式渲染之间轻松切换形状。此功能可在新形状类别下的“资源”面板中找到。
我使用了标注 - 非常方便,与Office中的AutoShapes非常相似。要做一个弹出窗口,你只需要一个简单的动画。
如果您没有表达式,则可以手动编码XAML以创建标注。这是我做的一个例子:
<Path x:Name="Callout" Height="218" Width="197" Stroke="Black" StrokeThickness="2" Fill="WhiteSmoke" Canvas.Top="60" Canvas.Left="53" Stretch="Fill">
<Path.Effect>
<DropShadowEffect ShadowDepth="50" Opacity="0.25" BlurRadius="10" />
</Path.Effect>
<Path.Data>
<PathGeometry>
<PathGeometry.Figures>
<PathFigure StartPoint="0 21.1" IsClosed="True">
<PathFigure.Segments>
<ArcSegment Point="21.1 0" Size="21.1 21.1" SweepDirection="Clockwise" />
<LineSegment Point="31.66 0" />
<LineSegment Point="79.14 0" />
<LineSegment Point="168.83 0" />
<ArcSegment Point="189.93 21.1" Size="21.1 21.1" SweepDirection="Clockwise" />
<LineSegment Point="189.93 73.86" />
<LineSegment Point="189.93 105.52" />
<ArcSegment Point="168.83 126.62" Size="21.1 21.1" SweepDirection="Clockwise" />
<LineSegment Point="79.14 126.62" />
<LineSegment Point="30.57 213.21" />
<LineSegment Point="31.66 126.62" />
<LineSegment Point="21.1 126.62" />
<ArcSegment Point="0 105.52" Size="21.1 21.1" SweepDirection="Clockwise" />
<LineSegment Point="0 105.52" />
<LineSegment Point="0 73.86" />
</PathFigure.Segments>
</PathFigure>
</PathGeometry.Figures>
</PathGeometry>
</Path.Data>
</Path>
标注的尾部与样本中的尾部不完全相同,并且阴影也不同,但可以更改不同的值以使其看起来尽可能接近样本。
答案 1 :(得分:3)
ToolTipService怎么样?
<Button Content="Test" Width="100" Height="27" ToolTipService.Placement="Bottom">
<ToolTipService.ToolTip>
<TextBlock
Text="Test" />
</ToolTipService.ToolTip>
</Button>
它适用于SL3,我相信它也适用于SL4。