从 Xamarin.Forms 中的 BindableRadioGroup 中取消选择选项
本文关键字:取消 选择 选项 BindableRadioGroup Xamarin Forms 中的 | 更新日期: 2023-09-27 17:56:12
我正在使用XLabs项目中的这个控件。绑定和选择工作正常,但我在某种调查中使用此控件,我想在客户端单击按钮查看下一个问题后取消选择Next
答案(此控件中的选项)。任何想法如何做到这一点?
<controls:BindableRadioGroup
ItemsSource="{Binding Answers}"
SelectedIndex="{Binding AnswerSelected, Mode=TwoWay}"
Style="{StaticResource radioGroupStyle}" />
绑定到按钮的命令:
public IAsyncCommand NextCommand
{
get
{
return new AwaitableDelegateCommand(async () => await Next(), CanGoToNextQuestion);
}
}
和方法:
private async Task Next()
{
CurrentQuestionIndex++;
AnsweredQuestions.Add(
new QuestionDto
{
QuestionId = CurrentQuestion.QuestionId,
QuestionText = CurrentQuestion.QuestionText,
Answer = Answers.ElementAt(AnswerSelected).Value,
});
// some stuff here
AnswerSelected = -1;
}
private bool CanGoToNextQuestion()
{
return AnswerSelected != -1;
}
答案不是很优雅,也不是MVVM风格,但正在工作。下面发布的代码应放置在视图中的代码隐藏中。
void Handle_Clicked(object sender, System.EventArgs e)
{
ClearRadioGroup();
}
private void ClearRadioGroup()
{
foreach (var child in grupa.Children)
{
var radio = (CustomRadioButton)child;
radio.Checked = false;
}
}