Отображение настраиваемой всплывающей подсказки? / Всплывающее окно при наведении курсора на объект в Silverlight - PullRequest
5 голосов
/ 13 июля 2010

Как можно получить аналогичные всплывающие окна / всплывающие подсказки / всплывающие подсказки ( см. Изображение ниже ) при наведении курсора мыши или нажатии на объект в приложении Silverlight?

Обновление ( добавленная награда )

Я ищу элемент управления, который может отбрасывать тень и показывать стрелку.Мне нужно 3-4 строки данных, которые я могу передать в качестве свойств элемента управления.

popup exampe http://www.freeimagehosting.net/uploads/4a78a786fc.gif

Ответы [ 2 ]

7 голосов
/ 20 июля 2010

Expression Blend 4 имеет такую ​​форму выноски, и вы можете применить к ней <DropShadowEffect/>. Чтобы поместить текст внутрь, просто оберните текстовое поле и выноску на холсте. С этого сайта :

Expression Blend 4 теперь включает в себя пресеты для простого создания дуг, стрелок, выносок и многоугольников. Формы можно легко переключать между рендерингом в стиле эскиза и обычного стиля. Эту функцию можно найти на панели «Активы» в новой категории «Фигуры».

Я использовал выноски - очень удобно и очень похоже на использование в AutoShapes в 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>

Хвост выноски не совсем такой, как в образце, и тени также различны, но можно изменить другие значения, чтобы попытаться сделать его как можно ближе к образцу.

3 голосов
/ 14 июля 2010

Как насчет ToolTipService?

     <Button Content="Test" Width="100" Height="27" ToolTipService.Placement="Bottom">
        <ToolTipService.ToolTip>
            <TextBlock
                Text="Test" />
        </ToolTipService.ToolTip>
    </Button>

Он работает на SL3, и я верю, что он будет работать и на SL4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...