これはMVVMでダイアログを表示する方法ですか?
public ICommand OpenFileCommand
{
get
{
if (_openFileCommand == null) {
_openFileCommand = new RelayCommand(delegate
{
var strArr = DialogsViewModel.GetOpenFileDialog("Open a file ...", "Text files|*.txt | All Files|*.*");
foreach (string s in strArr) {
// do something with file
}
});
}
return _openFileCommand;
}
}
public class DialogsViewModel {
public static string[] GetOpenFileDialog(string title, string filter)
{
var dialog = new OpenFileDialog();
dialog.Title = title;
dialog.Filter = filter;
dialog.CheckFileExists = true;
dialog.CheckPathExists = true;
dialog.Multiselect = true;
if ((bool)dialog.ShowDialog()) {
return dialog.SafeFileNames;
}
return new string[0];
}
}
もしそうなら、私が表示しているダイアログのオプションを変更すると言うことをどのように許可する必要がありますか。dialog.something = something_else
たとえば、メソッドに多くの引数を追加せずに、別のダイアログに異なるダイアログオプションを持たせたい