Xamarin Forms:如何为标签添加拖动事件? - 单词搜索游戏

Xamarin Forms: How to add dragging event for labels? - Word Search Game

我正在尝试为我的项目实现一个单词搜索游戏。我使用网格和标签创建了词搜索信箱(使用 this 博客)。每个信箱都有一些单词,这些单词列在信箱下方。我需要通过拖动标签 select 隐藏在信箱中的单词。开始拖动时,背景颜色变为橙色。如果拖动的单词在单词列表中,则将背景颜色更改为绿色。另外,我需要记录总的、正确的和错误的尝试。

请观看this video for getting a clear idea. I have also added a sample project here以供参考。我需要做以下事情:

  1. 网格内标签的拖动事件。

  2. 将背景颜色更改为橙​​色(开始拖动时)和绿色(当单词在列表中时)。

  3. 找到的单词的标记。

  4. 捕获总尝试次数、错误尝试次数和正确尝试次数。

您可以在每个标签上使用 PanGestures 来处理滑动事件。

var panGesture = new PanGestureRecognizer();
panGesture.PanUpdated += (s, e) => {
  // set background here
};
label.GestureRecognizers.Add(panGesture);

这里是关于如何在 Xamarin Forms 中创建可拖动视图的blog

您还可以从 nuget 安装一些关于 Gestures 的第三方库。

使用按钮的点击功能实现了单词搜索游戏。使用点击功能时,我们需要检查模式是否正确。我上传了 sample project here.

样本包含以下特征:

  1. 信箱中的单词从左到右、从右到左、从上到下、从下到上或对角线排列。此外,页面底部列出了隐藏的单词。
  2. 单击字母时将背景颜色更改为橙​​色。如果我们点击上述任何机制中的字母,它会继续将背景颜色更改为橙​​色。
  3. 找到单词后,背景颜色会变为绿色。如果我们改变图案,我会去掉背景颜色。
  4. 更改颜色并为找到的单词添加刻度线。
  5. 找到所有单词后,添加了重新启动选项。

参考文献:

https://github.com/neetfreek/word-search-generator/blob/master/WordSearch/WordSearch.cs