Я новичок в MVVM, я пытаюсь использовать CINCH v2 MVVM от Sacha Barber, и у меня есть сомнения в том, как правильно расширить один из сервисов фреймворка, надеюсь, я смогу получить некоторые советы из вашего опыта.
Я пишу приложение WPF, используя MVVM. Я решил попробовать CINCH v2 в качестве основы. На мой взгляд, мне нужно открыть диалоговое окно файла и разрешить выбор нескольких файлов. CINCH имеет несколько хороших сервисов пользовательского интерфейса, среди которых OpenFileService, который реализует интерфейс IOpenFileService. Моя проблема заключается в том, что эта служба открывает только один файл за раз, и мне нужно разрешить нескольким пользователям открывать несколько файлов. Это так же просто, как использование свойства Multiselect из класса Microsoft.Win32.Openfiledialog.
Поэтому я добавил в свой проект новый интерфейс, который реализует IOpenFileService из Cinch и расширил его, надеясь, что я смогу использовать службы тестирования, предоставляемые фреймворком
public interface IOpenFileServiceExtension : IOpenFileService
{
bool? Multiselect { get; set; }
String DefaultExt { get; set; }
}
Затем я создал сервис в своем проекте, который реализует этот новый интерфейс и добавляет расширенную функциональность.
Это решение работает, но у меня есть некоторые сомнения относительно того, насколько оно правильно:
1.- В моем проекте интерфейса мне нужно сделать ссылку на библиотеку Cinch. Я не уверен, что это проблема, но я чувствовал себя странно
2.- Это правильный путь решения этой проблемы или есть другой путь?
Спасибо за ваш совет.