我有Grid
一个任意数量(可能是数千个)填充形状的状态(鼠标悬停,选择,拖动......)。如果多个对象重叠,悬停/单击它们应选择其中心点最接近鼠标位置的对象。
考虑到性能和代码设计,解决这个问题的最佳方法是什么?
一些问题
- 我应该在后面的代码中创建形状并将它们添加到某些网格的子项中,还是应该将一些巧妙的 XAML 绑定到某些对象的列表(有教程会很好)?
- 我想处理鼠标事件。每个形状是否应该有自己的鼠标处理程序,或者我应该为父网格有一个鼠标处理程序,我在其中寻找最近的形状?
- 形状样式应该可由用户编辑。我应该在后面的代码中将它们定义为资源或属性吗?