C# 使用MVVM创建保存/加载函数
我正在尝试创建一个可以以XML格式保存/加载的函数。问题是我对MainViewModel做了一些错误,导致了一些错误。我是这样做的,并评论了我从哪里得到的错误,以及:C# 使用MVVM创建保存/加载函数,c#,wpf,mvvm,C#,Wpf,Mvvm,我正在尝试创建一个可以以XML格式保存/加载的函数。问题是我对MainViewModel做了一些错误,导致了一些错误。我是这样做的,并评论了我从哪里得到的错误,以及: namespace Editor { public class MainViewModel : INotifyPropertyChanged { private double _x; private object _content; public object Co
namespace Editor
{
public class MainViewModel : INotifyPropertyChanged
{
private double _x;
private object _content;
public object Content
{
get { return _content; }
set
{
_content = value;
OnPropertyChanged(nameof(Content));
}
}
public double X
{
get { return _x; }
set
{
_x = value;
OnPropertyChanged(nameof(X));
}
}
public ICommand BtnLoadCommand { get; }
public ICommand BtnGemCommand { get; }
public double Y { get; set; }
public MainViewModel()
{
Content = new Save_Load(); //the type or namespace could not be found are you missing an assembly
BtnLoadCommand = new RelayCommand(Load); //cannot convert from method group to action
BtnGemCommand = new RelayCommand(Save); //cannot convert from method group to action
}
private void Load(object sender, EventArgs e)
{
OpenFileDialog loadfiledialog = new OpenFileDialog();
if (loadfildialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
}
}
private void Save(object sender, EventArgs e)
{
SaveFileDialog gemfiledialog = new SaveFileDialog();
if (gemfildialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
试试下面
BtnLoadCommand = new RelayCommand<object>(Load);
BtnGemCommand = new RelayCommand<object>(Save);
BtnLoadCommand=新继电器命令(负载);
BtnGemCommand=新的中继命令(保存);
这里出现了一些非常标准的编译时错误;代码中没有“Save_Load”方法,而且RelayCommand
的参数几乎肯定与预期不匹配(通常是操作
)。关于这些错误,您还有更具体的问题吗?BtnLoadCommand=newrelaycommand(()=>Load);BtnGemCommand=新的中继命令(()=>保存);您好:)上面写着:只能将赋值、调用、递增、递减和新对象表达式用作语句
我在多查看一次后编辑了答案:)。这将起作用这也不起作用,签名不匹配(你给出了动作,他正在传递动作)。您的评论更接近(但需要实际的方法调用)。如果你要回答他的问题,请尽量详细解释,因为仅仅给他工作代码对任何人都没有好处。