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



我的窗口上有帮助按钮。我需要购买一个自定义弹出控件 鼠标在每个帮助按钮上.我的自定义弹出窗口由两个控件组成,一个工具提示和一个链接按钮

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

链接按钮 :将其重定向到帮助文件中

这是我的按钮和弹出代码

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

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

它消失了,我只在窗口中的某个地方点击。

如果用户将鼠标悬停在按钮 1 上,则需要显示弹出窗口,

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

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

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

最新更新