私は MVVM を初めて使用します。Sacha Barber による CINCH v2 MVVM フレームワークを使用しようとしています。フレームワーク サービスの 1 つを正しい方法で拡張する方法について疑問があります。あなたの経験からアドバイスを得ることができれば幸いです。
MVVMを使用してWPFアプリを作成しています。フレームワークとして CINCH v2 を試すことにしました。私の見解では、ファイル ダイアログ ボックスを開いて、複数のファイルを選択できるようにする必要があります。CINCH には優れた UI サービスがいくつかあります。その中には、IOpenFileService インターフェイスを実装する OpenFileService があります。私の問題は、このサービスが一度に 1 つのファイルしか開かないことです。複数のファイルを開くには複数のファイルを許可する必要があります。これは、Microsoft.Win32.Openfiledialog クラスの Multiselect プロパティを使用するのと同じくらい簡単です。
そのため、フレームワークによって提供されるテスト サービスを使用できるようになることを期待して、Cinch から IOpenFileService を実装し、それを拡張する新しいインターフェイスをプロジェクトに追加しました。
public interface IOpenFileServiceExtension : IOpenFileService
{
bool? Multiselect { get; set; }
String DefaultExt { get; set; }
}
次に、この新しいインターフェイスを実装し、拡張機能を追加するサービスをプロジェクトに作成しました。
この解決策は機能しますが、それがどれほど適切であるかについては疑問があります。
1.- インターフェイス プロジェクトで、Cinch ライブラリへの参照を作成する必要があります。それが問題かどうかはわかりませんが、奇妙な感じがしました
2.- これはこの問題を解決する正しい方法ですか、それとも別の方法がありますか?
アドバイスありがとうございます。