Как я могу назначить идентификатор для радиокнопки и получить к нему доступ в коде позади в Xamarin Forms, чтобы не проверять обе радиокнопки - PullRequest
0 голосов
/ 21 июня 2020

код xaml

<input:RadioButton  x:Name="button1" Clicked="Radio_Button_Clicked" 
       Grid.Column="1" Value="btn1" 
       Style="{StaticResource radiofontsize}">
</input:RadioButton>

<input:RadioButton x:Name="button2" Clicked="Radio_Button_Clicked"  
       Grid.Column="2" Value="btn2" 
       Style="{StaticResource radiofontsize}">
</input:RadioButton>

C#

private void Radio_Button_Clicked(object sender, EventArgs e)
{
}

Ответы [ 2 ]

0 голосов
/ 22 июня 2020

Как сказал @Harikrishnan, вы также можете использовать ClassId.

 <Button ClassId="btn1" x:Name="button1" />
        <Button ClassId="btn2" x:Name="button2"  Clicked="button2_Clicked"/>

 private void button2_Clicked(object sender, EventArgs e)
    {
        var btn = sender as Button;
        var id = btn.ClassId;

        //.....
    }

Или вы можете использовать FindByName для получения идентификатора имени элемента управления кнопки.

 var s = this.FindByName<Button>("button1");
0 голосов
/ 21 июня 2020

Вы уже назначили кнопкам StyleId, который является настройкой x:Name в XAML.

Попробуйте следующий код. Это вам поможет.

private void Radio_Button_Clicked(object sender, EventArgs e)
{
    var styleId = (sender as RadioButton).StyleId;
    if(styleId == "button1")
    {
        //Do your logic here for the button1 selection.
    }
    else
    {
        //Do your logic here for the button2 selection.
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...