这是我想做的:
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 提供对创建它的类的引用。
但是我收到消息:
Keyword "this" is not available in the current context
最佳答案
在构造函数中创建 View 模型,以便在正确的上下文中访问 this
关键字。
public partial class PhrasesFrame : Frame {
public PhrasesFrameViewModel vm;
public PhrasesFrame() {
InitializeComponent();
vm = new PhrasesFrameViewModel(this);
}
//...
}
这假定 View 模型有一个可公开访问的构造函数,该构造函数接受传递的参数。
public class PhrasesFrameViewModel : ObservableProperty {
private readonly PhrasesFrame phrasesFrame;
public PhrasesFrameViewModel(PhrasesFrame phrasesFrame) {
this.phrasesFrame = phrasesFrame;
}
//...
}
关于c# - 创建新类时如何传递类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47957992/