我有一個工具提示控件。我想要的是,當我將鼠標懸停在控件上並打開工具提示時:如果我用鼠標輸入工具提示 - 這將觸發mouseEnter事件以觸發其他操作。我找到最接近的解決方案是在控件上用觸發器添加一個ToolTipClosing事件......但是隻要我離開控件就會觸發 - 即使我的鼠標沒有進入工具提示。 (觸發的工具提示本身MouseEnter事件似乎並沒有得到根本解僱)工具提示觸發MouseEnter事件的任何方式?
下面是一個例子:(這裏我想改變邊框的背景,如果我進入提示)
XAML
<Border Height="300" Name="dummyBorder"
Width="200"
Background="Red" />
<Label ToolTipService.InitialShowDelay="3000"
Content="Hover over here"
ToolTipService.ShowDuration="4000"
ToolTipService.Placement="Right"
ToolTipClosing="Label_ToolTipClosing"
Width="100"
HorizontalAlignment="Center"
Margin="10">
<Label.ToolTip>
<ToolTip Name="tt" MouseEnter="ttBorder_MouseEnter">
<Border Background="Brown"
Name="ttBorder"
MouseEnter="ttBorder_MouseEnter"
Width="100"
Height="50">
<TextBlock Text="This is a tool tip." />
</Border>
</ToolTip>
</Label.ToolTip>
</Label>
代碼隱藏(無論這些工作)
private void Label_ToolTipClosing(object sender, ToolTipEventArgs e)
{
if (tt.IsMouseDirectlyOver)
{
dummyBorder.Background = Brushes.Aqua;
}
}
private void ttBorder_MouseEnter(object sender, MouseEventArgs e)
{
dummyBorder.Background = Brushes.Aqua;
}
我特別想用一個工具提示,而不是一個彈出。這可能嗎? 任何幫助將不勝感激!
MouseEnter不起作用,因爲對於承載工具提示的父Popup,IsHitTestable始終設置爲「false」:http://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/Controls/ToolTip.cs# 05775d1d4906ee8d 最重要的是,toolips顯然不支持StaysOpen = true,因此無法更改此屬性的值。本來也喜歡這個:( – floele