首页 > 其他分享 >CommunityToolkit.Mvvm 之 通过一个属性控制一个按钮是否禁用 及 按钮执行费时需任务的方法

CommunityToolkit.Mvvm 之 通过一个属性控制一个按钮是否禁用 及 按钮执行费时需任务的方法

时间:2023-12-22 14:33:28浏览次数:35  
标签:CommunityToolkit Mvvm 禁用 private 任务 按钮 属性 费时

要达到的目的:

通过一个属性控制一个按钮是否禁用

当按钮执行费时需任务时,按下禁用按钮,任务完成后自动解除禁用

1. 属性定义

1 [ObservableProperty]
2 [NotifyCanExecuteChangedFor(nameof(SettingParamCommand))]//属性变化时通知对应的命令
3 private bool allowOperator;

2. 将命令与属性关联,命令执行时会检测关联的属性状态

  注:此处用到了异步,按钮会在按下时自动禁用,异步任务完成时自动解除禁用

1         [RelayCommand(CanExecute = nameof(AllowOperator))]
2         private async Task SettingParamAsync()
3         {
4             await Task.Run(() =>
5             {
6                 //耗时操作
7             });
8         }

 

标签:CommunityToolkit,Mvvm,禁用,private,任务,按钮,属性,费时
From: https://www.cnblogs.com/chao-ye/p/17921516.html

相关文章

  • elementUI 的el-dialog作为子组件,父组件如何控制其关闭的按钮
    这里有三点需要说明:1.使用:before-close="closeHandle"将其$emit()出去2.取消按钮也需要$emeit出去3.控制对话框显示隐藏的变量需要props给父组件来传值,这个相当重要,不然控制不了对话框的显示隐藏4.1,2步骤是为了在子组件不再重复操作显示隐藏的变量,vue会报错<templat......
  • 【c# winform】devexpress treeList右键菜单添加按钮
    本文提供俩种不需要手动添加编辑控件方法。方法一:创建新的右键菜单添加“执行选择”按钮,且抑制TreeList自带菜单结果展示: 代码: privatevoidForm1_Load(objectsender,EventArgse){CreateBarButtonItem();}privatevoidCreateBarButtonItem(){//创建右键......
  • .NET Core 3 WPF MVVM框架 Prism系列之导航系统
    本文将介绍如何在.NETCore3环境下使用MVVM框架Prism基于区域Region的导航系统git在讲解Prism导航系统以前,咱们先来看看一个例子,我在以前的demo项目建立一个登陆界面:github 咱们看到这里是否是一开始想象到使用WPF带有的导航系统,经过Frame和Page进行页面跳转,而后经过导航日志......
  • [C#] 禁用控制台关闭按钮
    禁用控制台关闭按钮internalclassProgram{[DllImport("user32.dll",EntryPoint="FindWindow")]externstaticIntPtrFindWindow(stringlpClassName,stringlpWindowName);[DllImport("user32.dll",E......
  • Odoo中防止用户同一时间多次点击同一按钮触发函数
    我们将探讨如何在Odoo中实现一个全局防重复点击功能,以防止用户在短时间内重复点击按钮而触发多次函数调用。这种情况通常发生在用户不断快速点击同一个按钮时,导致后端函数被多次调用,可能会引起数据错误或性能问题。在Odoo中,我们可以通过自定义模块来实现这个功能。首先,我们需要在bu......
  • 按钮
     切换页面 自复位按钮 切换按钮 ......
  • 08 MVVM框架
    08MVVM框架WPF是WindowsPresentationFoundation的缩写,它是一种用于创建桌面应用程序的用户界面框架。WPF支持多种开发模式,其中一种叫做MVVM(Model-View-ViewModel)。在WPF开发中,经典的编程模式是MVVM,是为WPF量身定做的模式,该模式充分利用了WPF的数据绑定机制,最大限度地降低了Xa......
  • 微信小程序顶部自定义标题对齐胶囊按钮
    微信小程序顶部自定义标题样式对其胶囊按钮css中使用了uniapp的var(--status-bar-height))获取系统栏高度,js中使用了uni.getMenuButtonBoundingClientRect();该api获取小程序菜单按钮的位置信息,返回的有胶囊按钮的宽、高、上、右、下、左,本例中使用了胶囊按钮的top信息示例图......
  • 进一步学习 CommunityToolkit.Mvvm
    1.属性绑定privatestringtitle;publicstringTitle{get;set;} 可用以下属性方式替换,生成器会自动生成;[ObservableProperty]privatestringtitle; 另一种情况:命令privateboolisEnabled;publicboolIsEnabled{......
  • 进一步学习 CommunityToolkit.Mvvm 之 Messenger
    一、带token1.订阅消息WeakReferenceMessenger.Default.Register<UserMessage,string>(this,"MyToken",(r,m)=>{});2.发送消息WeakReferenceMessenger.Default.Send(newUserMessage(value),"MyToken");二、某一种数据类型发送接收消息1.订阅消息V......