C# 根据X和Y坐标选择包装或列表中的项目
我有一个包含图像的包装面板。我使用的是定点设备,可以在屏幕上获得X和Y坐标。我想使用X和Y坐标来选择包装或列表中的特定项目C# 根据X和Y坐标选择包装或列表中的项目,c#,wpf,wpf-controls,leap-motion,C#,Wpf,Wpf Controls,Leap Motion,我有一个包含图像的包装面板。我使用的是定点设备,可以在屏幕上获得X和Y坐标。我想使用X和Y坐标来选择包装或列表中的特定项目 <WrapPanel HorizontalAlignment="Center" VerticalAlignment="Top" Grid.Row="1" Name="ImageWrap"> <ContentControl Style="{StaticResource imageContainerStyle}"> <Ima
<WrapPanel HorizontalAlignment="Center" VerticalAlignment="Top" Grid.Row="1" Name="ImageWrap">
<ContentControl Style="{StaticResource imageContainerStyle}">
<Image Stretch="Uniform" Source="/Images/Texture01.jpg" />
</ContentControl>
<ContentControl Style="{StaticResource imageContainerStyle}">
<Image Stretch="Uniform" Source="/Images/Texture02.jpg" />
</ContentControl>
<ContentControl Style="{StaticResource imageContainerStyle}">
<Image Stretch="Uniform" Source="/Images/Texture03.jpg" />
</ContentControl>
</WrapPanel>
请给我一些建议 您可以使用面板的方法。只要不设置面板的背景属性,它将返回给定位置的元素(相对于面板的坐标),或null
Point screenPosition = new Point(xPosition, yPosition);
Point panelPosition = ImageWrap.PointFromScreen(screenPosition); // not PointToScreen
IInputElement element = ImageWrap.InputHitTest(panelPosition);
if (element is Image)
{
...
}
谢谢你指点方向。还在尝试。
Point screenPosition = new Point(xPosition, yPosition);
Point panelPosition = ImageWrap.PointFromScreen(screenPosition); // not PointToScreen
IInputElement element = ImageWrap.InputHitTest(panelPosition);
if (element is Image)
{
...
}