我需要UIElement
在(矩形/区域/边界)中找到 s。
MainWindow 我正在执行以下操作:
- 我将鼠标向下注册为起始位置。
- 我注册了鼠标向上的位置。
- 现在我需要在开始位置和结束位置之间的矩形中找到 ll(按钮、文本框等)。
我在 msdn 中找到了这种HitTest
方法,但这只是为了一点。我认为,遍历已建立的矩形中的所有点是一场性能灾难。
http://msdn.microsoft.com/en-us/library/ms752097.aspx
我的代码基于 MVVM 模式:
private ObservableCollection<UIElementViewModel> wells;
private Point stratPoint; // Mouse down
public ICommand MouseUpRightCommand
{
get
{
if (this.mouseUpRightCommand == null)
{
this.mouseUpRightCommand = new RelayCommands(
param =>
{
if (param is MouseButtonEventArgs)
{
var e = (param as MouseButtonEventArgs);
//Set the end point
endPosition = e.GetPosition(((ItemsControl)e.Source));
// for example, here I want to find all controls(UIElements) in the
// founded rectangle of stratPoint and endPosition.
}
});
}
return this.mouseUpRightCommand;
}
}
还有其他想法或更好的方法吗?
谢谢