【问题标题】:How to make buttons draggable如何使按钮可拖动
【发布时间】:2022-01-09 19:33:43
【问题描述】:

有没有办法让按钮可以拖动?适用于标签等其他元素的标准方法不起作用。

<Button Text="Hello">
      <Button.GestureRecognizers
              <DragGestureRecognizer CanDrag="True"/>  
     </Button.GestureRecognizers>
</Button>

谢谢!

【问题讨论】:

  • 我认为这是不可能的,原因很简单,触摸按钮意味着按下它。按下一个按钮,然后将手指拖到一边,意味着你“改变了主意”,这是一种“取消”触摸的方式。所以你会有两个相互矛盾的含义。您需要在某处有一个“模式”按钮,将 UI 置于“可拖动”状态。然后用看起来像按钮但实际上不是的东西替换每个按钮。详情待定 - 正在调查...
  • ...解决这个问题比我现在没有时间做的要复杂,抱歉。 google xamarin forms data template selector for content view 进行相关讨论。希望其他人会出现并使用您需要的代码来回答 - 我没有找到与您需要做的完全匹配的现有讨论。这是一个相当高级的主题,但是如果您尝试遵循其中一个 google 示例,请将您尝试的代码添加到您的问题中,并说出您卡在哪里。或者,如果你得到它的工作,然后在下面添加“你的答案”,以便其他人也学习。
  • 感谢您的帮助。我在下面发布了我的解决方案。如果您碰巧发现它不是最理想的,我欢迎您提出见解。

标签: xamarin xamarin.forms


【解决方案1】:

通过将点击和拖动事件分配给标签来解决它。幸运的是,拖动时没有触发 Tap 事件。

<Label Text="Hello">
    <Label.GestureRecognizers>              
       <DragGestureRecognizer CanDrag="True"
                              DragStarting="DragGestureRecognizer_DragStarting"/>
       <TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped"/>
    </Label.GestureRecognizers>
</Label>

【讨论】:

  • 非常好 - 这是我没有想到的方法。
猜你喜欢
  • 2020-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-14
  • 2011-10-16
  • 2018-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多