Откройте File Dialog MVVM

Вот и все! Нет команды для удаления вашей виртуальной среды. Просто отключите его и избавьте свое приложение от его артефактов, рекурсивно удалив его.

Обратите внимание, что это одно и то же независимо от того, какую виртуальную среду вы используете. virtualenv, venv, среда Анаконды, pyenv, pipenv основаны здесь на том же принципе.

45
задан BoltClock 19 June 2015 в 08:21
поделиться

3 ответа

Лучшее, что можно сделать здесь, - это использовать службу.

Служба - это просто класс, доступ к которому вы получаете из центрального репозитория служб, часто контейнера IOC. Затем служба реализует то, что вам нужно, например OpenFileDialog.

Итак, если у вас есть IFileDialogService в контейнере Unity, вы можете сделать ...

void Browse(object param)
{
    var fileDialogService = container.Resolve<IFileDialogService>();

    string path = fileDialogService.OpenFileDialog();

    if (!string.IsNullOrEmpty(path))
    {
        //Do stuff
    }
}
36
ответ дан 26 November 2019 в 21:23
поделиться

Я использую службу, которую я, например, могу передать в конструктор моей модели viewModel или разрешить с помощью внедрения зависимости. например

public interface IOpenFileService
{
    string FileName { get; }
    bool OpenFileDialog()
}

и класс, реализующий его, использующий под капотом OpenFileDialog. В viewModel я использую только интерфейс и, таким образом, могу смоделировать / заменить его при необходимости.

8
ответ дан 26 November 2019 в 21:23
поделиться

Наличие службы похоже на открытие представления из модели просмотра. У меня есть свойство Dependency, и при изменении свойства я открываю FileDialog и читаю путь, обновляю свойство и, следовательно, связанное свойство виртуальной машины

2
ответ дан 26 November 2019 в 21:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: