以下是我想做的事情:
public partial class PhrasesFrame : Frame
{
public PhrasesFrameViewModel vm = new PhrasesFrameViewModel(this);
public PhrasesFrame()
{
InitializeComponent();
}
public class PhrasesFrameViewModel : ObservableProperty
{
PhrasesFrame phrasesFrame;
PhrasesFrameViewModel(PhrasesFrame phrasesFrame) {
this.phrasesFrame = phrasesFrame;
}
我想给新的PhrasesFrameViewModel一个对创建它的类的引用。
但是我收到了消息:
关键字"此"在当前上下文中不可用
答案 0 :(得分:3)
在构造函数中创建视图模型,以便在正确的上下文中访问this
关键字。
public partial class PhrasesFrame : Frame {
public PhrasesFrameViewModel vm;
public PhrasesFrame() {
InitializeComponent();
vm = new PhrasesFrameViewModel(this);
}
//...
}
这假定视图模型具有可公开访问的构造函数,该构造函数接受传递的参数。
public class PhrasesFrameViewModel : ObservableProperty {
private readonly PhrasesFrame phrasesFrame;
public PhrasesFrameViewModel(PhrasesFrame phrasesFrame) {
this.phrasesFrame = phrasesFrame;
}
//...
}