Кнопка Xamarin работает при втором нажатии - PullRequest
0 голосов
/ 24 января 2020

У меня есть мобильное приложение, и после нажатия кнопки я хочу изменить границу кнопки. Что мне удалось сделать, однако это работает, только если я нажимаю на первую кнопку дважды, а затем все остальное работает хорошо. Все кнопки идентичны, только имя отличается

здесь код для кнопки

protected void EnglishToCzech_Clicked(object sender, EventArgs e)
        {
            Button englishToCzech = (Button)sender;
            if (englishToCzech.BorderColor.Equals(Color.Default))
            {
                englishToCzech.BorderColor = Color.FromHex("#da2c43");
                czechToEnglish.BorderColor = Color.Default;
                english.BorderColor = Color.Default;

            }
            else
                englishToCzech.BorderColor = Color.Default;

        }

и вот xaml

<Button x:Name="englishToCzech" Grid.Column="2" Text="{ grial:Translate A_ButtonEnglishToCzech}"  Style="{ StaticResource CircleActionButtonFlatStyle }"   FontSize="14"  WidthRequest="50" HeightRequest="50" CornerRadius="30"   BorderWidth="2" Clicked="EnglishToCzech_Clicked"/>

Есть ли способ установить его в коде, сколько раз пользователь должен нажать кнопку, чтобы она работала при первом нажатии?

1 Ответ

0 голосов
/ 24 января 2020

Отладка вашего кода. Установите точку останова в EnglishToCzech_Clicked и убедитесь, что вы используете этот метод при каждом нажатии. Во время первого выполнения наведите курсор мыши на englishToCzech.BorderColor и посмотрите, каково значение. Вероятно, BorderColor не Color.Default, поэтому он установлен в Color.Default. Вот почему он работает во второй раз.

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