「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.03.11
XML
カテゴリ: C#.NET


C# WPFでICommandの基底クラスを実装する場合、一般的には、PrismライブラリやMVVM Light ToolkitなどのMVVMフレームワークが提供する`DelegateCommand`や`RelayCommand`などの既存のクラスを使用することが一般的です。これらのクラスは、`ICommand`インターフェースを実装し、コマンドの実行および実行可能性の状態を管理するための基本的な機能を提供します。


以下に、`DelegateCommand`の基本的な使用方法を示します。


```csharp

using Prism.Commands;

using Prism.Mvvm;


public class MyViewModel : BindableBase

{

    public DelegateCommand MyCommand { get; private set; }


    public MyViewModel()

    {

        MyCommand = new DelegateCommand(ExecuteMyCommand, CanExecuteMyCommand);

    }


    private void ExecuteMyCommand()

    {

        // コマンドの実行時に実行されるロジックを記述します

    }


    private bool CanExecuteMyCommand()

    {

        // コマンドの実行可能性を判断するロジックを記述します

        return true; // ここでは常に実行可能としていますが、実際のロジックに応じて適切な条件を設定します

    }

}

```


この例では、`DelegateCommand`を使用して`MyCommand`という名前のコマンドを作成し、そのコンストラクターで実行メソッドと実行可能性を判断するメソッドを指定しています。


`ExecuteMyCommand`メソッドでは、コマンドが実行されたときに実行されるロジックを記述します。`CanExecuteMyCommand`メソッドでは、コマンドが実行可能な状態かどうかを判断するロジックを記述します。


`DelegateCommand`を使用することで、`ICommand`の基底クラスを実装する必要がなくなります。このような既存のクラスを使用することで、コマンドの作成と管理が簡素化され、MVVMパターンに従ったアプリケーションの開発が容易になります。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.03.11 09:19:22


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

© Rakuten Group, Inc.
X
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: