我是Xamarin Forms的新手,我正在设计一个问答游戏。我想让按钮在用户点击它后被禁用,以防止用户再次选择它。我试图使用Isenable,但它不起作用。如果我错过了一些代码,请指出它。
XAML CODE
<StackLayout>
<StackLayout>
<Button x:Name="C11" Text="$1" WidthRequest="50" HeightRequest="100" Clicked="C11_Clicked" />
<Button x:Name="C12" Text="$1" WidthRequest="50" HeightRequest="100" Clicked="C12_Clicked"/>
</StackLayout>
</StackLayout>
C# code
private void C11_Clicked(object sender, EventArgs e)
{
C11.IsEnabled = false;
Navigation.PushModalAsync(new C11());
}
更新部分
private void continue_Clicked(object sender, EventArgs e)
{
MainPage m = new MainPage();
m.C11btn.IsEnabled = false;
Preferences.Set("ButtonEnableFlag", false);
Navigation.PushModalAsync(new MainPage());
}
protected override void OnAppearing()
{
base.OnAppearing();
var enableValue = Preferences.Get("ButtonEnableFlag", true);
MainPage m = new MainPage();
m.C11btn.IsEnabled = enableValue;
}
1条答案
按热度按时间e7arh2l61#
我能问一下怎么才能永久禁用这个按钮吗?
如果您想永久禁用该按钮,需要在设备中保存 * 一个自定义状态标志*,下次进入该视图时,该按钮将被这个***自定义状态标志*以编程方式禁用。
例如,我们可以使用Xamarin.Essentials: Preferences**来sace自定义状态标志并覆盖
OnAppearing
方法,如下所示:以下是本页的Xaml代码:
现在该按钮将被永久禁用。
如果您想在其他页面禁用该按钮,只需在其他页面设置***自定义状态标志***即可,稍后返回所需页面时,该按钮将被禁用。
另一页代码:
然后它将工作,没有代码需要改变所需的页面。