我根据从后端收到的一些数据将图像动态加载到画布上。我有一个看起来像这样的数据结构:
ID: 1 GROUP: A X: 10 Y: 10
ID: 2 GROUP: A X: 20 Y: 20
ID: 3 GROUP: A X: 30 Y: 30
ID: 4 GROUP: B X: 40 Y: 40
ID: 5 GROUP: B X: 50 Y: 50
ID: 6 GROUP: C X: 60 Y: 60
我正在将这些数据加载到一个ItemsControl
看起来像这样的文件中:
<ItemsControl ItemsSource="{Binding MyDataSet}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Canvas>
<Image Height="10" Width="10"
Source="/someImage.png"
Canvas.Left="{Binding X}"
Canvas.Top="{Binding Y}"
MouseEnter="Image_MouseEnter"
MouseLeave="Image_MouseLeave" />
</Canvas>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
图像显示在Canvas
就好了。当用户将鼠标放在图像上时,Image_MouseEnter
事件处理程序将图像替换为另一个“突出显示”的图像。该Image_MouseLeave
方法将图像交换回来。这也工作正常。
我想要做的也是为每个其他图像使用“突出显示”的图像,这些GROUP
图像与悬停的图像相同。因此,如果我将鼠标放在 的图像上ID: 1 GROUP: A
,它应该换出 ID 2 和 3 的图像。
只是为了让事情更有趣,我也在使用 MVVM。:)
有什么建议么?