【发布时间】:2020-02-19 18:07:04
【问题描述】:
我在 xamarin 表单上有 2 个按钮,
scannerButton 和 checkOrderButton
scannerButton 打开扫描仪页面,扫描二维码并将其填充到订单输入字段中
checkOrderButton 读取订单输入字段中的任何内容并处理验证并将其发送到服务器进行验证
我想要的 - 是在扫描仪按钮.Click 中调用 checkOrderButton.Click - 在它扫描文本之后
代码:
private async void scanCameraButton_Clicked(object sender, EventArgs e)
{
var options = new ZXing.Mobile.MobileBarcodeScanningOptions();
options.PossibleFormats = new List<ZXing.BarcodeFormat>() {
ZXing.BarcodeFormat.QR_CODE,ZXing.BarcodeFormat.EAN_8, ZXing.BarcodeFormat.EAN_13
};
var scanPage = new ZXingScannerPage(options);
scanPage.OnScanResult += (result) =>
{
//stop scan
scanPage.IsScanning = false;
Device.BeginInvokeOnMainThread(() =>
{
//pop the page and get the result
Navigation.PopAsync();
orderNoEntry.Text = result.Text;
});
//invoke checkOrderButton.Click here
};
最好的方法是什么?
另一种方法是将 checkOrderButton.Click 处理程序中的所有功能转储到一个函数中,然后从两个按钮单击中调用该函数,但我有兴趣了解如何以编程方式调用 click 事件
【问题讨论】:
-
PerformClick在按钮上?尽管不以编程方式单击按钮而只是调用方法会更好。 -
不幸的是,Xamarin.Forms 按钮类缺少 RaiseEvent 或 PerformClick - 设计中注明的点, - 我在互联网上找不到如何使用 xamarin.forms 进行点击,所以我在这里发布了问题
标签: c# xamarin.forms