我有一个要求,我需要使用弹出窗口或工具提示在下拉列表旁边显示一些按钮。例如,将按钮添加到工具提示的 Contnet 并在用户将鼠标悬停在下拉菜单上时显示它。
但是,工具提示仅在鼠标指针位于下拉菜单上时才保持打开状态。因此,如果我设置工具提示并为其添加 2 个按钮,则用户将没有机会单击工具提示内的按钮,因为他必须将鼠标从下拉列表中移开才能执行此操作,并且在执行此操作时工具提示消失。
有没有办法让工具提示保持打开一段时间,即使在用户将鼠标从下拉列表中移开之后,只要工具提示获得焦点,理想情况下就保持工具提示打开?
代码:
<Style x:Key="ToolTipStyle" TargetType="ToolTip">
<Setter Property="Placement" Value="Right"/>
</Style>
<ToolTip x:Key="YourToolTip" Style="{StaticResource ToolTipStyle}">
<StackPanel Background="Yellow" Orientation="Horizontal">
<Button Content="Yes"/>
<Button Content="No"/>
</StackPanel>
</ToolTip>
<Style x:Key="DropDownStyle" TargetType="Controls:RadComboBox">
<Setter Property="ToolTip" Value="{StaticResource YourToolTip}"/>
<Setter Property="ToolTipService.InitialShowDelay" Value="1000"/>
<Setter Property="ToolTipService.ShowDuration" Value="2000"/>
<Setter Property="ToolTipService.BetweenShowDelay" Value="10000"/>
</Style>
<Controls:RadComboBox x:Name="mydropDown" Style="{StaticResource DropDownStyle}" ItemsSource="{StaticResource MyItems}" HorizontalAlignment="Center" VerticalAlignment="Center" Width="100">
</Controls:RadComboBox>
注意:我使用的是 .NET 3.5
编辑:弹出控件也可以,但是原始问题仍然存在,当下拉列表不再具有焦点时,如何单击弹出窗口内的按钮(假设弹出窗口的 IsOpen 绑定到 IsMouseOver 属性)。
谢谢,-迈克