我是C#noob,所以请放纵我;)
我正在研究一个WPF应用程序,并希望在MVVM模式中实现我的程序。 我想写一个简单的HTML编辑器。 所以起初我的应用程序包含一个菜单,该菜单拥有“文件”项。在那里你应该能够在“新”,“打开”,“保存”,“另存为”和“关闭”之间进行选择。 在我使用C#的第一步中,我在MainWindow的CodeBehind-File中编写了这些函数并且它有效。但现在我想通过使用MVVM模式以“更清洁”的方式实现我的程序。但我真的有问题要理解这种模式,特别是在没有CodeBehind的情况下实现SaveDialog和OpenDialog。
private void Oeffnen_Click(object sender, RoutedEventArgs e)
{
//neuen OpenDialog anlegen
webBrowser2 = new WebBrowser();
DockPanel.SetDock(webBrowser2, Dock.Top);
this.DockPanel1.Children.Add(webBrowser2);
opendlg = new Microsoft.Win32.OpenFileDialog();
opendlg.Filter = "html files (*.html)|*.html|htm files (*.htm)|*.htm";
//opendlg.RestoreDirectory = true;
//öffne Opendialog
if (opendlg.ShowDialog() == true)
{
try
{
if (opendlg.OpenFile() != null)
{
filename = opendlg.FileName;
webBrowser2.Navigate("file:///" + filename); //Öffne html Datei
doc2 = webBrowser2.Document as IHTMLDocument2;
doc2.designMode = "On"; //Editierbarkeit aktivieren
}
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
}
}
所以这就是我的CodeBehind for FileOpen-function。
有人可以解释一下Open或SaveDialog的例子,或者其他方面,如何在这种应用程序中使用MVVM模式?
很抱歉,如果这个问题太笼统了。请询问详细信息。
谢谢!