【发布时间】:2020-04-13 09:22:08
【问题描述】:
我正在使用 Xlabs.Forms.Controls 复选框。我在 xaml 和CheckedChanged 事件中设置了Checked = False,如果他们想要检查它,它会弹出一个确认提示用户。
在我的弹出页面上,我为按钮 Yes 和 No 设置了点击事件。如果条件不同,弹出窗口将执行两次,这意味着当我单击复选框时,它将自动被选中,因此当我在弹出窗口中单击 No 时,它将在关闭弹出窗口之前执行两次。有谁知道为什么会这样?
xaml
<controls:CheckBox x:Name="checkbox" DefaultText="standard" CheckedChanged="checkbox_CheckedChanged" Checked="False"/>
主页
private void checkbox_CheckedChanged(object sender, XLabs.EventArgs<bool> e)
{
PopupNavigation.Instance.PushAsync(new cbPopUp(this, checkbox));
}
弹出页面
public partial class cbPopUp
{
Mainpage mainpage;
XLabs.Forms.Controls.CheckBox checkBox;
public cbPopUp(MainPage mpage, XLabs.Forms.Controls.CheckBox cb)
{
InitializeComponent();
mainpage = mpage;
checkBox = cb;
}
private async void btnYes_Clicked(object sender, EventArgs e)
{
checkBox .Checked = true;
await ClosePopup();
}
private async void btnNo_Clicked(object sender, EventArgs e)
{
checkBox.Checked = false;
await ClosePopup();
}
private async Task ClosePopup()
{
await PopupNavigation.Instance.PopAllAsync();
}
}
【问题讨论】:
-
当 Xamarin Forms 有自己的 CheckBox 时,为什么要使用第三方库进行复选框。
-
@sandeepsingh 嗨,我使用了 xamarin 表单复选框,但也有同样的错误,在关闭前弹出两次
标签: xaml xamarin xamarin.forms popup