我正在开发一个应用程序,我有一个按钮网格(可以是各种数量的按钮)。 Atm我使用4x4网格放置它们并将它们拉伸到适当大小。问题是这些按钮可以被拖动,并且它们应该在拖动时将悬停在上其余按钮。它们也可以被点击,在这种情况下,它们会慢慢地悬停在屏幕上的另一个点上。
问题源于Grid不处理zIndex,并且在Grid下放置画布不会有帮助。我不确定具有绝对坐标的画布是否可以在不同大小的屏幕上工作,并且按钮也应该悬停在网格外的其他元素上(并且网格处于枢轴状态 - 按钮必须将鼠标悬停在枢轴外的任何东西上。)
问题是除了带有zIndex的画布之外还有什么方法,如果没有,我怎么能用画布实现一个合适的类网格布局。
更新:
我使用以下代码移动按钮:
private TranslateTransform dragTranslation = new TranslateTransform();
private void Button_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
if (dragTranslation.X + dragTranslation.Y > 100)
{
//ClickLock to avoid the tap event from firing
clickLock = true;
}
draggedButton.RenderTransform = dragTranslation;
dragTranslation.X += e.DeltaManipulation.Translation.X;
dragTranslation.Y += e.DeltaManipulation.Translation.Y;
}
请注意,我已跳过部分内容,例如在ManipulationStarted事件中重新分配dragTranslation
。