c# - 如何在事件处理程序之前执行命令

标签 c# xamarin xamarin.forms cross-platform

按钮的事件处理程序

private async void Btn_Clicked(object sender, EventArgs e)
{

}

并且我还在 viewModel 内提供了相同按钮的命令

public Command LoginCommand
{
    get
    {
        return new Command(async () =>
        {

        });
    }

}

问题是我想对命令内部返回的值(从 Api 使用)使用验证,并且导航位于事件处理程序内部,因此它在验证之前导航,那么如何在事件处理程序之前执行命令

最佳答案

Command 有一个可用于验证的 CanExecute 方法。您将谓词传递给构造函数,如果您要调用,它就会执行该谓词

LoginCommand.CanExecute(this);

您可以将任何对象传递到该方法中。

这似乎最适合您。

关于c# - 如何在事件处理程序之前执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41542911/

相关文章:

c# - 在 Xamarin.Forms 中使用 android 支持库 API 级别 26 (MonoAndroid 8.0 Oreo)?

c# - 使用 Json.net 反序列化具有接口(interface)值的复杂嵌套字典类型

java - Visual Studio + Xamarin 中不受支持的 major.minor 版本 52.0

android - 将 WebView 放在 LinearLayout 的中心

c# - Xamarin - 找不到类型或命名空间名称 'App'

c# - 是否可以阻止第一个条目在 Xamarin Forms 的 ScrollView 中获得焦点

c# - 如何配置 log4net 以便可以将对象的属性映射到日志输出?

c# - 如何在c#(FTP)中计算下载时间

c# - Windows 服务中托管的 WCF 服务中的 "No Endpoint Listening"

c# - 在 xcode 中看不到查看详细信息按钮