我可以明确地在WPF中的鼠标点击事件上显示工具提示吗?

时间:2010-06-25 09:12:20

标签: wpf wpf-controls tooltip

当鼠标悬停在帮助图像上时,我正在显示工具提示。

xaml如下:

 <Image 
     x:Name="HelpImage"
     Width="16"
     Height="16"
     Grid.Row="1"
     Source="..\Images\ToolBar\Help.png"
     Grid.Column="2">
     <Image.ToolTip>
         <Grid
             Background="LightGreen">
             <Grid.RowDefinitions>
                 <RowDefinition />
                 <RowDefinition />
             </Grid.RowDefinitions>
             <StackPanel
                 Background="LightGreen"
                 Height="25"
                 Width="300"
                 Orientation="Horizontal"
                 HorizontalAlignment="Left"
                 VerticalAlignment="Top">
                 <Image
                     VerticalAlignment="Stretch"
                     HorizontalAlignment="Stretch"
                     Width="24"
                     Height="24"
                     Source="/Images/Test.png"
                     Name="image1" />
                 <TextBlock
                     FontFamily="Aharoni"
                     Margin="5"
                     FontSize="20"
                     FontWeight="Bold"
                     Foreground="Black"
                     TextWrapping="Wrap"
                     VerticalAlignment="Top"
                     Height="Auto"
                     HorizontalAlignment="Right"
                     Width="Auto">
                       <Run
                          FontFamily="Calibri"
                          FontSize="14"
                          Foreground="DarkRed"
                          FontWeight="Bold"
                          Text="Bandwidth Base Value" />
                 </TextBlock>
             </StackPanel>
             <TextBlock
                 Grid.Row="1"
                 Background="LightGreen">
                 This is Help  content</TextBlock>
         </Grid>
     </Image.ToolTip>
 </Image>

当用户鼠标悬停在图像控件上时,它显示工具提示。当用户点击图片时,我可以明确地显示工具提示吗?

请帮助!!

4 个答案:

答案 0 :(得分:11)

您可以通过将ToolTip.IsOpen设置为true来强制打开工具提示。通过在设置ToolTip属性时显式构造ToolTip对象,可以获得对ToolTip对象的引用。而不是

<Image.ToolTip>
    <Grid>
    ...
    </Grid>
</Image.ToolTip>

<Image.ToolTip>
    <ToolTip>
        <Grid>
        ...
        </Grid>
    </ToolTip>
</Image.ToolTip>

然后在MouseUp处理程序中执行以下操作:

((ToolTip)((FrameworkElement)sender).ToolTip).IsOpen = true;

答案 1 :(得分:1)

不能在mouseclick上调用工具提示。您可以使用弹出控件,而不是使用工具提示。单击鼠标时调用Popup Control

答案 2 :(得分:0)

EventManager.RegisterClassHandler(typeof(Window), Mouse.MouseDownEvent, 
                                  new MouseButtonEventHandler((o, args) => 
                                  { 
                                      if (_popup.IsOpen) 
                                          _popup.IsOpen = false; 
                                  }));

答案 3 :(得分:-3)

工具提示的OnClick设置可见性为true,在工具提示中设置可见性c

....