툴팁이있는 컨트롤이 있습니다. 내가 원하는 것은 컨트롤 위로 마우스를 가져 가면 도구 설명이 열립니다 : 마우스로 도구 설명을 입력하면 mouseEnter 이벤트가 트리거되어 다른 동작이 트리거됩니다. 가장 가까운 내가이 솔루션을 찾는 오전 트리거와 함께 컨트롤에 ToolTipClosing 이벤트를 추가하는 것입니다 ...하지만 내 마우스가 툴팁을 입력하지 않는 경우에도 내가 컨트롤을 떠나는대로 시작됩니다. 이ToolTip이 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;
}
. 이것이 가능한가? 도움이 될 것입니다.
IsHitTestable은 툴팁을 호스팅하는 상위 Popup에 대해 항상 "false"로 설정되어 있기 때문에 MouseEnter가 작동하지 않습니다. http://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/Controls/ToolTip.cs# 05775d1d4906ee8d 그런데 툴팁은 StaysOpen = true를 지원하지 않으므로이 속성의 값을 변경할 방법이 없습니다. 이걸 너무 좋아했 을까? ( – floele