gpt4 book ai didi

wpf - 打开文件对话框 MVVM

转载 作者:行者123 更新时间:2023-12-03 06:24:25 29 4
gpt4 key购买 nike

好的,我真的很想知道专家 MVVM 开发人员如何处理 WPF 中的打开文件对话框。

我真的不想在我的 ViewModel 中执行此操作(其中“浏览”是通过 DelegateCommand 引用的)

void Browse(object param)
{
//Add code here
OpenFileDialog d = new OpenFileDialog();

if (d.ShowDialog() == true)
{
//Do stuff
}
}

因为我认为这违背了 MVVM 方法。

我该怎么办?

最佳答案

在这里做的最好的事情是使用服务。

服务只是您从服务的中央存储库(通常是 IOC 容器)访问的一个类。然后该服务实现您需要的内容,如 OpenFileDialog。

所以,假设你有一个 IFileDialogService在 Unity 容器中,你可以做...

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

string path = fileDialogService.OpenFileDialog();

if (!string.IsNullOrEmpty(path))
{
//Do stuff
}
}

关于wpf - 打开文件对话框 MVVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1043918/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com