マウスが現在ホバリングしている場所に基づいて、さまざまな情報を表示したい WPF の画像があります。私はこれをウェブサイトで見たことがあることを知っています.WPFでそれを行うためのコードを理解できないようです.
私が使用している画像は米国の地図であり、ユーザーが国境を越えるときに州固有の情報を表示する必要があります。現在、私が使用している実装はPath
、マップの上に透明に描画された一連の であり、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>