我使用 Xamarin.Forms 和 MvvmCross,但我在应用程序中遇到了问题。 触摸并运行命令后,按钮有时会被禁用。
我向按钮添加了 IsEnabled="True"但没有任何改变
<Button
WidthRequest="36"
HeightRequest="36"
CornerRadius="18"
BorderWidth="2"
FontSize="18"
Text="{Binding OptionText}"
Command="{Binding OptionSelectedCommand}"
CommandParameter="{Binding .}"
IsEnabled="True"
VerticalOptions="Center"
HorizontalOptions="Center"/>
我希望始终启用此按钮。
我的命令代码是:
new MvxAsyncCommand(async () =>
{
if (option.IsSelected)
{
option.IsSelected = false;
}
else
{
option.OptionGroup.Options.ForEach(c => c.IsSelected = false);
option.IsSelected = true;
}
return Task.CompletedTask;
})
最佳答案
终于我找到了解决这个问题的方法。 问题与 MvxAsyncCommand 有关,通过使用 Command 而不是 MvxAsyncCommand 解决。
我认为 MvvmCross MvxAsyncCommand 有一个关于运行异步方法的错误
关于button - Xamarin.Forms 按钮在触摸后将被禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54018261/