次の方法で共有


MVVM Toolkit エラー MVVMTK0016

[NotifyCanExecuteChangedFor] のターゲットは、その親型でアクセス可能な IRelayCommand プロパティである必要があります。

次の例では MVVMTK0016 が発生します。

using CommunityToolkit.Mvvm.ComponentModel;

namespace MyApp;

public partial class SampleViewModel : ObservableObject
{
    // The containing type has no command named "FooBar"
    [ObservableProperty]
    [NotifyCanExecuteChangedFor("FooBar")]
    private string name;
}

ターゲット メソッドがコマンドでない場合も同様です。

using CommunityToolkit.Mvvm.ComponentModel;

namespace MyApp;

public partial class SampleViewModel : ObservableObject
{
    // The target member "Foo" is a method, not a command
    [ObservableProperty]
    [NotifyCanExecuteChangedFor(nameof(Foo))]
    private string name;

    public void Foo()
    {
    }
}

その他のリソース

  • 単体テストでは、さらに他の例を見つけることができます。