Могу ли я подробно показать всплывающую подсказку о событии Click мыши в WPF? - PullRequest
8 голосов
/ 25 июня 2010

Я показываю подсказку, когда мышь наведена на изображение справки.

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>

Показывает подсказку, когда пользовательская мышь наводит курсор на элемент управления изображением. Могу ли я показывать всплывающую подсказку, когда пользователь нажимает на изображение?

Пожалуйста, помогите !!

Ответы [ 3 ]

11 голосов
/ 25 июня 2010

Вы можете принудительно открыть подсказку, установив для ToolTip.IsOpen значение true. Вы можете получить ссылку на объект ToolTip, явно создав его при установке свойства ToolTip. Вместо

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

запись

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

А затем в вашем обработчике MouseUp сделайте что-то вроде:

((ToolTip)((FrameworkElement)sender).ToolTip).IsOpen = true;
1 голос
/ 25 июня 2010

Нет, вы не можете вызвать всплывающую подсказку при щелчке мышью.Вместо всплывающей подсказки вы можете использовать всплывающее управление.Вызвать Popup Control по щелчку мыши.

0 голосов
/ 12 января 2012
EventManager.RegisterClassHandler(typeof(Window), Mouse.MouseDownEvent, 
                                  new MouseButtonEventHandler((o, args) => 
                                  { 
                                      if (_popup.IsOpen) 
                                          _popup.IsOpen = false; 
                                  }));
...