Как я могу пойти о получении подобного всплывающего окна/парения/подсказки (см. изображение ниже), когда я толплюсь или нажимаю на объект в своем приложении Silverlight?
Обновление: (добавленная щедрость)
Я ищу управление, которое может отбросить тень и показать стрелку. Я хочу как 3-4 строки данных, в которых я могу передать как свойства управления.
откройте exampe http://www.freeimagehosting.net/uploads/4a78a786fc.gif
Expression Blend 4 имеет такую форму выноски, и к ней можно применить
. Чтобы поместить текст внутрь, просто оберните текстовое поле и выноску на холсте. С этого сайта :
Expression Blend 4 теперь включает предустановки для простого создания дуг, стрелок, выносок и многоугольников. Фигуры можно легко переключать между рендерингом в стиле эскиза и в обычном стиле. Эту функцию можно найти на панели «Активы» в новой категории «Фигуры».
Я использовал выноски - очень удобные и очень похожие по использованию на Автофигуры в Office. Чтобы создать всплывающее окно, вам понадобится простая анимация.
Если у вас нет выражений, вы можете вручную написать 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>
Хвост выноски не совсем такой, как в примере, и тень тоже отличается, но можно изменить разные значения, чтобы попытаться сделать ее максимально приближенной к образец.
Как насчет ToolTipService?
<Button Content="Test" Width="100" Height="27" ToolTipService.Placement="Bottom">
<ToolTipService.ToolTip>
<TextBlock
Text="Test" />
</ToolTipService.ToolTip>
</Button>
Он работает на SL3 и, я думаю, будет работать и на SL4.