大佬教程收集整理的这篇文章主要介绍了Xamarin,如何从命令中获得完成状态?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 ListVIEw,正在使用 SELEctedItem 调用命令并显示模式视图。
但是,我遇到了一个问题,即用户可以在列表视图行上多次点击,并且在加载视图之前会显示多个模式视图。当然,这只发生在速度较慢的设备上。
这是因为该命令没有任何回调。
我通常不会在这里粘贴代码,但在这种情况下,我认为提供屏幕截图更具描述性。
我研究了 AsyncCommands,但这些似乎更多地用于处理错误。
我目前正在考虑退出模态时触发的订阅方法,但是我认为肯定有另一种我没有想到的方法。
您可以尝试使用 Boolean as IsSELEcted
并在用户单击列表中的项目时使 IsSELEcted
为真并在 setter 中更改您的条件,如下所示。操作完成后重置标志。
这是,不会有任何模态重复。这是我从你的问题中了解到的,如果还有其他问题,请告诉我。
if( _LOCATIOnAssetSELEcted || !IsSELEcted )
{
IsSELEcted = true;
_LOCATIOnAssetSELEcted = value;
..... //your code
_LOCATIOnAssetSELEcted = null;
IsSELEcted = false;
}
,
您可以将逻辑移到命令中以确保它不会多次执行。这是使用此方法作为命令的示例/模板表单应用程序上的一个片段。锁似乎没有必要。
@H_673_38@async void OnItemSELEcted(Item item)
{
//lock (SELEctLock)
//{
if (item == null || SELEctionOn)
return;
SELEctionOn = true;
//}
System.Diagnostics.Debug.WriteLine($"{item.Text} SELEcted");
// This will push the ItemDetailPage onto the navigation stack
await SHell.Current.GoToAsync($"{nameof(ItemDetailPagE)}?{nameof(ItemDetailViewModel.ItemId)}={item.ID}");
SELEctionOn = false;
}
以上是大佬教程为你收集整理的Xamarin,如何从命令中获得完成状态?全部内容,希望文章能够帮你解决Xamarin,如何从命令中获得完成状态?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。