Проблема с созданием игры палача в UWP - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь создать игру палача в UWP, и я не совсем уверен, где набрать событие нажатия кнопки каждой буквы в коде, чтобы он распознавал все переменные в 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 голосов
/ 08 ноября 2019

Я хочу захватывать нажатия кнопок в моем XML-коде. Я сделал свойство, подобное публичному char Key {get;установлен;} и каждый щелчок кнопки вставлял различное значение в зависимости от буквы, например: on button_a, Key = 'a';

Я, наверное, понимаю, что вы имеете в виду. У вас есть много кнопок (например, кнопка, которая составляет клавиатуру). Каждый раз, когда вы нажимаете кнопку, вы получаете идентификатор кнопки, а затем вводите его в текстовое поле.

Вы можете использовать свойство Button.Tag для записи вашего ключа, например:

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

В коде позади метода Button_Click есть два параметра, где senderотносится к кнопке, которая вызвала событие, поэтому вы можете преобразовать его и получить свойство Tag.

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

Таким образом, вы можете привязать все кнопки к одному и тому же обработчику, что очень удобно.

С уважением.

0 голосов
/ 07 ноября 2019

Вы должны перейти к своему XAML-файлу, где вы разрабатываете свой пользовательский интерфейс, найти кнопку и затем добавить

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

туда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...