在UWP中制作子手游戏的问题

时间:2019-11-07 16:07:37

标签: c# uwp

我正在尝试在UWP中创建一个hang子手游戏,但我不确定在哪里键入代码中每个字母的按钮单击事件,以使其能够识别MainPage中的所有变量而不影响功能。

如果可能的话,可以使按钮在单独的类中单击,甚至更好。 谢谢您的帮助,谢谢!

namespace Hangman
{
    public sealed partial class MainPage : Page
    {
        int _currentIndex;
        string _currentWord;
        string[] _strArr = { "ant", "bee", "spider", "mosquito" };
        int _difficulty = 1;
        public MainPage()
        {
            this.InitializeComponent();
            Random rnd = new Random();
            _currentIndex = rnd.Next(0, 4);
            _currentWord = _strArr[_currentIndex];

            foreach (char c in _currentWord)
            {
                string _hiddenWord = string.Empty;
                foreach (char ch in _currentWord)
                {
                    _hiddenWord += "_" + (char)160;
                }
                _textBl.Text = _hiddenWord;
            }
        }

        private void a_Click(object sender, RoutedEventArgs e)
        {

        }
    }
}

2 个答案:

答案 0 :(得分:0)

您必须转到设计UI的XAML文件,找到按钮,然后添加

<Button Content="Your Button Text" onClick="a_Click" />

有。

答案 1 :(得分:0)

  

我想捕获XML代码上按钮的按钮单击。我已经做了一个像public char Key {get;组; },并让每个Button单击插入一个取决于字母的不同值,例如:在button_a上,Key ='a';

我可能理解你的意思。您有很多按钮(例如组成键盘的按钮)。每次单击按钮时,都会获得按钮的标识,然后在文本框中键入它的身份。

您可以使用Button.Tag属性记录密钥,如下所示:

<Button Tag="a" Content="A" Click="Button_Click" />

在代码隐藏中,Button_Click方法具有两个参数,其中sender引用触发事件的Button,因此您可以对其进行转换并获取Tag属性。

private void Button_Click(object sender, RoutedEventArgs e)
{
    var btn = sender as Button;
    string tag = btn.Tag.ToString();
    // Do Something
}

通过这种方式,您可以将所有按钮绑定到同一处理程序,这非常方便。

最诚挚的问候。