即使鼠标指针移动到wpf中的另一个控件,弹出窗口也不会消失

时间:2016-04-27 05:56:18

标签: c# wpf popup

我的窗口上有帮助按钮。我需要在每个帮助按钮上鼠标上自定义弹出控件。我的自定义弹出窗口包含两个控件,一个工具提示和一个链接按钮。 / p>

工具提示:包含该按钮的提示和

LinkBut​​ton :将其重定向到帮助文件

这是我的按钮和弹出代码

   <telerik:RadButton Grid.Column="2" HorizontalAlignment="Left" Margin="3,65,0,0" Grid.Row="2" VerticalAlignment="Top"
            Width="23" Height="23" BorderThickness="6" BorderBrush="#4E4E4E" Click="RadButton_Click_1" >
            <Image Source="Images/help.png" />
            <telerik:RadButton.Triggers>
                <EventTrigger RoutedEvent="MouseEnter">
                    <BeginStoryboard>
                        <Storyboard TargetName="TooltipPopup" TargetProperty="IsOpen">
                            <BooleanAnimationUsingKeyFrames  FillBehavior="HoldEnd">
                                <DiscreteBooleanKeyFrame KeyTime="00:00:00"  Value="True" />
                            </BooleanAnimationUsingKeyFrames>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </telerik:RadButton.Triggers>
        </telerik:RadButton>

这是弹出窗口的代码

 <Popup PopupAnimation="Fade" Placement="Mouse" AllowsTransparency="True" StaysOpen="False" x:Name="TooltipPopup" >
            <Border   CornerRadius="0" BorderThickness="1">
                <StackPanel Margin="1" Orientation="Horizontal" >
                    <local:UCToolTip></local:UCToolTip>
                </StackPanel>
            </Border>
        </Popup>

当鼠标悬停在一个按钮上时,弹出窗口显示成功,但即使鼠标指向另一个控件后它也不会消失。

只有我在窗口的某个地方点击它才会消失。

如果用户鼠标悬停在button1上,则弹出窗口需要显示,如果用户鼠标悬停在按钮2上,则需要关闭上一个弹出窗口,并且需要显示下一个按钮弹出窗口。当用户指向另一个按钮时,必须关闭弹出窗口或用户单击弹出窗口中的链接按钮

1 个答案:

答案 0 :(得分:-1)

您没有指定关闭弹出窗口。 尝试下一步

<telerik:RadButton.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
    <BeginStoryboard Name="MyBeginStoryboard">
        <Storyboard TargetName="TooltipPopup" TargetProperty="IsOpen">
            <BooleanAnimationUsingKeyFrames  FillBehavior="HoldEnd">
                <DiscreteBooleanKeyFrame KeyTime="00:00:00"  Value="True" />
            </BooleanAnimationUsingKeyFrames>
        </Storyboard>
    </BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
    <StopStoryboard BeginStoryboardName="MyBeginStoryboard" />
</EventTrigger>