2012-08-14 88 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

相關問題