🔖

Microsoft.Toolkit.Mvvmリファレンスへのリンク

8 min read

■ComponentModel

名前空間:Microsoft.Toolkit.Mvvm.ComponentModel

classDiagram

class ObservableObject {
    <<abstract>>
}
class ObservableRecipient {
    <<abstract>>
}
class ObservableValidator {
    <<abstract>>
}

ObservableObject <|-- ObservableRecipient
ObservableObject <|-- ObservableValidator

ObservableObject

プロパティが観察可能でなければならないオブジェクトのためのベースクラスです。

  • メソッド
    • OnPropertyChanged
    • OnPropertyChanging
    • SetProperty
    • SetPropertyAndNotifyOnCompletion
  • イベント
    • PropertyChanged
    • PropertyChanging

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.componentmodel.observableobject

ObservableRecipient

メッセージの受信者としても機能するObservableObjectの基本クラスです。

このクラスはObservableObjectを拡張したもので、IMessengerタイプを使用するためのサポートも組み込まれています。

  • プロパティ
    • IsActive
    • Messenger
  • メソッド
    • Broadcast
    • OnActivated
    • OnDeactivated
    • SetProperty

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.componentmodel.observablerecipient

ObservableValidator

INotifyDataErrorInfoインターフェースを実装したオブジェクトのベースクラスです。

このクラスはObservableObjectも継承しているので、Observableアイテムにも使用できます。

  • プロパティ
    • HasErrors
  • メソッド
    • ClearErrors
    • GetErrors
    • SetProperty
    • TrySetProperty
    • ValidateAllProperties
    • ValidateProperty
  • イベント
    • ErrorsChanged

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.componentmodel.observablevalidator

■DependencyInjection

名前空間:Microsoft.Toolkit.Mvvm.DependencyInjection

classDiagram

class IServiceProvider {
    <<interface>>
}

IServiceProvider <|.. Ioc

Ioc

IServiceProvider型の使用を容易にする型です。

Iocは、シングルトンでスレッドセーフなサービスプロバイダ インスタンスでサービスを構成する機能を提供し、それを使ってサービス インスタンスを解決することができます。

  • プロパティ
    • Default
  • メソッド
    • ConfigureServices
    • GetRequiredService
    • GetService

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.dependencyinjection.ioc

■Input

名前空間:Microsoft.Toolkit.Mvvm.Input

classDiagram

class ICommand {
    <<interface>>
}
class IRelayCommand {
    <<interface>>
}

ICommand <|-- IRelayCommand
IRelayCommand <|.. RelayCommand

RelayCommand

デリゲートを呼び出して他のオブジェクトにその機能を中継することを唯一の目的とするコマンドです。

CanExecute(Object)メソッドのデフォルトの戻り値はtrueです。このタイプでは、Execute(Object)およびCanExecute(Object)コールバック メソッドでコマンド パラメータを受け入れることはできません。

  • メソッド
    • CanExecute
    • Execute
    • NotifyCanExecuteChanged
  • イベント
    • CanExecuteChanged

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.input.relaycommand

RelayCommand<T>

デリゲートを呼び出して他のオブジェクトに機能を中継することを唯一の目的としたジェネリック コマンドです。

CanExecuteメソッドのデフォルトの戻り値はtrueです。このクラスでは、Execute(T)およびCanExecute(T)コールバック メソッドでコマンド パラメータを受け付けることができます。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.input.relaycommand-1

AsyncRelayCommand

RelayCommandの機能を反映したコマンドで、実行アクションとしてタスクを返すFunc<TResult>を受け取り、ExecuteAsync(Object) が呼び出されたときと、返されたタスクが完了したときに変更を通知する ExecutionTask プロパティを提供します。

  • プロパティ
    • CanBeCanceled
    • ExecutionTask
    • IsCancellationRequested
    • IsRunning
  • メソッド
    • Cancel
    • CanExecute
    • Execute
    • ExecuteAsync
    • NotifyCanExecuteChanged
  • イベント
    • CanExecuteChanged

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.input.asyncrelaycommand

AsyncRelayCommand<T>

AsyncRelayCommandをより具体的にしたジェネリック コマンドです。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.input.asyncrelaycommand-1

IRelayCommand

CanExecuteChangedイベントを外部から発生させる機能を持つICommandを拡張したインターフェースです。

  • メソッド
    • NotifyCanExecuteChanged

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.input.irelaycommand

IRelayCommand<in T>

IRelayCommandのより具体的なバージョンを表すジェネリック インターフェースです。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.input.irelaycommand-1

IAsyncRelayCommand

IRelayCommandを拡張し、非同期操作をサポートするインターフェースです。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.input.iasyncrelaycommand

IAsyncRelayCommand<in T>

IAsyncRelayCommandのより具体的なバージョンを表すジェネリック インターフェースです。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.input.iasyncrelaycommand-1

■Messaging

名前空間:Microsoft.Toolkit.Mvvm.Messaging

classDiagram

class IMessenger {
    <<interface>>
}

IMessenger <|.. WeakReferenceMessenger
IMessenger <|.. StrongReferenceMessenger

IMessenger

異なるオブジェクト間でメッセージを交換する機能を提供する型のインターフェースです。

これは、参照される型への強力な参照を維持することなく、アプリケーションの異なるモジュールを切り離すのに役立ちます。また、トークンで識別された特定のチャンネルにメッセージを送信したり、アプリケーションの異なるセクションに異なるメッセンジャーを配置することも可能です。

  • メソッド
    • Cleanup
    • IsRegistered
    • Register
    • Reset
    • Send
    • Unregister
    • UnregisterAll

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.messaging.imessenger

WeakReferenceMessenger

IMessengerインターフェイスの参照実装を提供するクラスです。

このIMessengerの実装では、登録された受信者を追跡するために弱参照を使用しているので、不要になったときに手動で登録を解除する必要はありません。

  • プロパティ
    • Default
  • メソッド
    • Cleanup
    • IsRegistered
    • Register
    • Reset
    • Send
    • Unregister
    • UnregisterAll

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.messaging.weakreferencemessenger

StrongReferenceMessenger

IMessengerインターフェイスの参照実装を提供するクラスです。

このIMessengerの実装では、登録された受信者を追跡するために強力な参照を使用しているため、不要になったときには手動で登録を解除する必要があります。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.messaging.strongreferencemessenger

IRecipient<TMessage>

特定のメッセージタイプへの登録を宣言する受信者のためのインターフェースです。

  • メソッド
    • Receive

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.messaging.irecipient-1

MessageHandler<TRecipient, TMessage>

メッセージを受信したときに実行するアクションを表すために使用されるデリゲートです。

受信者のインスタンスメソッドを呼び出す必要がある場合は、受信者を正しい型にキャストして、そのインスタンスからローカルメソッドにアクセスすることができます。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.messaging.messagehandler-2

■Messaging.Messages

名前空間:Microsoft.Toolkit.Mvvm.Messaging.Messages

PropertyChangedMessage<T>

観測可能なオブジェクトのプロパティ変更を通知するためのメッセージです。

  • プロパティ
    • NewValue
    • OldValue
    • PropertyName
    • Sender

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.messaging.messages.propertychangedmessage-1

RequestMessage<T>

リクエストメッセージ用のクラスで、直接使用することも、派生クラスを使用することもできます。

  • プロパティ
    • HasReceivedResponse
    • Response
  • メソッド
    • Reply

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.messaging.messages.requestmessage-1

AsyncRequestMessage<T>

非同期リクエストメッセージ用のクラスで、直接または派生クラスを介して使用することができます。

  • プロパティ
    • HasReceivedResponse
    • Response
  • メソッド
    • GetAwaiter
    • Reply

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.messaging.messages.asyncrequestmessage-1

CollectionRequestMessage<T>

複数の返信を受け取ることができるリクエストメッセージ用のクラスで、直接または派生クラスを介して使用することができます。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.messaging.messages.collectionrequestmessage-1

AsyncCollectionRequestMessage<T>

複数の返信を受け取ることができるリクエストメッセージ用のクラスで、直接または派生クラスを介して使用することができます。

  • プロパティ
    • CancellationToken
  • メソッド
    • GetAsyncEnumerator
    • GetResponsesAsync
    • Reply

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.messaging.messages.asynccollectionrequestmessage-1

ValueChangedMessage<T>

特定の値が変更されたときに通知するベースメッセージです。

  • プロパティ
    • Value

https://docs.microsoft.com/en-us/dotnet/api/microsoft.toolkit.mvvm.messaging.messages.valuechangedmessage-1

■更新履歴

  • 7.0.xベースで新規作成

Discussion

ログインするとコメントできます