使用鼠标悬停仍可看到Silverlight工具提示

时间:2012-08-14 14:43:31

标签: c# .net silverlight tooltip silverlight-5.0

您好,感谢您的帮助。我有一个Treeview,我用一个Hierarchical数据模板填充,目前底部节点有一个工具提示,生成一个小的堆栈面板,其中填充了鼠标悬停在项目上的特定数据。我也有一个按钮位于工具提示中,但是,当鼠标移过它时工具提示不会持续存在,我无法像我需要那样使用按钮。我的xaml看起来像这样:

<!--===========================  Hierarchical Data template  for tree view -->
                        <!--template for bottom nodes-->
                        <sdk:HierarchicalDataTemplate x:Key="ModTemplate" ItemsSource="{Binding ApplicationModules}">
                            <StackPanel Orientation="Horizontal" >                            <!--======tooltip style to handle format for callout window============-->
                                <ToolTipService.ToolTip>
                                    <ToolTip  HorizontalOffset="0" VerticalOffset="0" Style="{StaticResource ModuleToolTipStyle}">

                                        <StackPanel Width="150" Height="auto" >
                             <TextBlock Text="Module Info" FontWeight="Bold" TextAlignment="Center"/>
                                            <TextBlock Text="Module State:" FontWeight="Bold" />
                                            <TextBlock Text="{Binding Path=ModInfo.ModuleState}" />
                                            <TextBlock Text="Module Start Time:" FontWeight="Bold" />
                                            <TextBlock Text="{Binding Path=ModInfo.ModuleStartTime}"/>
                                            <TextBlock Text="Module Down Time:" FontWeight="Bold"/>
                                            <TextBlock Text="{Binding Path=ModInfo.ModuleDownTime}" />
                                            <Button Content="More Info" Width="75"></Button>
                                        </StackPanel>

                                    </ToolTip>
                                </ToolTipService.ToolTip>
               <!--============end tooltip style for callout window===================-->

                                <ContentPresenter Margin="0 0 4 0" Content="{Binding Icon}" />
                                <TextBlock FontStyle="Italic" Text="{Binding Path=ModuleName}" />
                            </StackPanel>
                        </sdk:HierarchicalDataTemplate>

我希望当鼠标移过它时工具提示会持续存在,以便我可以将事件连接到按钮。我怎样才能做到这一点?再次感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您有几个选项可以实现我所了解的目标。您可以在codeplex上查看Silverlight Advanced Tooltips项目,该项目符合您的要求(虽然我个人没有使用它,因此无法进行任何类型的审核。)

或者你可以通过一些创造力来创造自己。如果它是我,我可能会跳过所有这些混乱,忘记ToolTipService一起,只是让我自己装扮它,因为对用户来说,你提供的不是他们习惯的工具提示无论如何,期望并且更多地交叉到标注或弹出功能。如果选项#1对您不起作用,我可以在获得一些释放时间后立即作出示例,但我希望它能。基本上我的方式和我提供的项目链接都会做同样的事情,这会在MouseLeave事件之后提供延迟,因为用户可以在它消失之前到达它。然后将其可见性条件移交给该对象。让我知道如果这不起作用,我可以给你一个替代的例子,只使用XAML。