我正在使用Xamarin形式的Zxing条码扫描器和Rg弹出页面。整个想法是,当摄像机捕获条形码时,它将显示一个弹出窗口。问题是我想等待用户关闭弹出窗口,然后再次扫描。现在,如果我将相机对准条形码,它将继续显示多个警报。
public async void Scan(Result result)
{
//random linq to get product
if (product != null)
{
await PopupNavigation.PushAsync(new DisplayDialog(product));
}
}
用户关闭窗口的方法
private async void Button_OnClicked(object sender, EventArgs e)
{
await PopupNavigation.RemovePageAsync(this);
}
我尝试使用一个标志来停止扫描并将isScanning或isAnalyzing设置为false,但是它没有用。有任何想法吗?谢谢!
答案 0 :(得分:1)
使用布尔控制流量
bool popup = false;
public async void Scan(Result result)
{
if (popup) return;
//random linq to get product
if (product != null)
{
popup = true;
await PopupNavigation.PushAsync(new DisplayDialog(product));
}
}
然后,只要关闭弹出窗口,就将popup
标志重置为false