У меня есть изображение в WPF, что я хотел бы иметь различную информацию, основанную на том, где мышь в настоящее время витает. Я знаю, что видел это на веб-сайтах, я просто не могу понять код, чтобы сделать это в WPF.Несколько областей для события mouseover в одном изображении
Изображение, которое я использую, представляет собой карту США, и мне нужна информация о состоянии, которая будет отображаться, когда пользователь пересекает границы. В настоящее время реализация, которую я использую, представляет собой серию Path
s, нарисованную прозрачно поверх карты, а затем с помощью события Mouse.MouseEnter
, чтобы вызвать изменение. Проблема в том, что обновление, похоже, страдает от ужасного запаздывания, иначе событие MouseEnter
не всегда ловятся должным образом.
Кто-нибудь знает, как лучше это сделать?
Образец C#
private void wyoming_MouseEnter(object sender, MouseEventArgs e)
{
//stateName.Text = "Wyoming";
}
Пример XAML
<Canvas MouseDown="Canvas_MouseDown" Name="canvas">
<Viewbox Stretch="Uniform">
<Image Source="USA.png" />
</Viewbox>
<Path Name="wyoming" Stroke="Transparent" StrokeThickness="1" Mouse.MouseEnter="wyoming_MouseEnter" Mouse.MouseMove="wyoming_MouseMove">
<Path.Data>
<PathGeometry>
<PathGeometry.Figures>
<PathFigureCollection>
<PathFigure IsClosed="True" StartPoint="184,121" > <!--NW-->
<PathFigure.Segments>
<PathSegmentCollection>
<LineSegment Point="266,129" />
<LineSegment Point="264,193" />
<LineSegment Point="203,190" />
<LineSegment Point="177,186" />
</PathSegmentCollection>
</PathFigure.Segments>
</PathFigure>
</PathFigureCollection>
</PathGeometry.Figures>
</PathGeometry>
</Path.Data>
</Path>
</Canvas>
Прохладный, я забыл упомянуть эту деталь, но рад, что у вас есть исправление, предположим, что я не смогу выкапывать этот пример после всех lol, ура :) –