我正在使用的xamarin中的按钮控件有一些我以前没见过的非常不同的问题。问题是,如果我非常快速地连续按下按钮很多次,它会非常缓慢地处理所有的水龙头。即使在我停下来之后它仍然眨眼,这显然很刺激。
以下是我的代码
用户界面创建代码
QRButton = new Button
{
Text="Title",
TextColor = Color.White,
BackgroundColor = Color.FromHex("#0064A4"),
HorizontalOptions = LayoutOptions.FillAndExpand,
VerticalOptions = LayoutOptions.Center,
WidthRequest = 250.0,
BorderRadius = 0
};
//add event handler
QRButton.Clicked += QRButtonPressed;
按钮操作
private void QRButtonPressed(object sender, EventArgs e)
{
Console.WriteLine("QR Generation Started");
// Some long running process
Console.WriteLine("QR Generation Completed");
}
渲染器实施
protected override void OnElementChanged(ElementChangedEventArgs<Button> e)
{
base.OnElementChanged(e);
if(e.NewElement!=null)
{
Control.TitleEdgeInsets = new UIEdgeInsets(4, 4, 4, 4);
Control.TitleLabel.LineBreakMode = UILineBreakMode.WordWrap;
Control.TitleLabel.TextAlignment = UITextAlignment.Center;
}
}