[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()
{
}
}
その他のリソース
- 単体テストでは、さらに他の例を見つけることができます。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
MVVM Toolkit