2012-08-14 85 views
1

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

<!--=========================== 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> 

我想提示坚持上方时鼠标移动,这样我可以电汇事件的按钮。我怎样才能做到这一点?再次感谢您的帮助。

+0

对于我自己的薰陶,当鼠标移过它时,“坚持”是什么意思?听起来就像你只需要一个ToolTip.Template而不是设置内容。 :/ – 2012-08-15 21:38:52

+0

我只需要它在鼠标指针从treeView项移动到工具提示框本身时保持可见状态,以便在此情况下使用按钮进行交互是可能的。你能通过工具提示模板影响吗? – Christian 2012-08-15 22:25:26

回答

1

你有几个选项来实现你的目标,我知道。您可以在codeplex上查看Silverlight Advanced Tooltips项目,它可以完成您想要的任务(尽管我个人没有使用它,因此无法进行任何类型的审阅。)

或者您可以创建自己的一些创意。如果是我,我可能会跳过所有这些乱七八糟的事情,忘记ToolTipService,只是让我自己打扮起来,因为对用户来说,你提供的不是他们习惯的工具提示无论如何,并且已经跨越了标注或弹出功能。如果选项#1不适合你,但我希望它可以,我可以尽快解决一些问题。从本质上讲,我的方式和我提供的项目链接都会做同样的事情,它在MouseLeave事件之后提供了一个延迟,以便用户可以在它消失之前得到它。然后将其可见性条件交给该对象。让我知道如果这不起作用,我可以给你一个替代的例子,只用XAML。

+0

感谢您的回应和帮助。我会尝试你的建议并回复你。 – Christian 2012-08-17 14:10:53

+0

好的交易,如果遇到问题,请告诉我们,我们会尽快解决问题。如果你在一天结束之前没有得到你的解决方案,我不会回应,但希望这能为你带来好处。干杯。 – 2012-08-17 14:22:45

相关问题