使用正在初始化的对象作为参数
Use object that is being initialized as parameter
我偶然发现无法在对象初始值设定项中将 windows 方法用作 属性 的问题:
var window = new DialogWindow
{
DataContext = new YesNoDialogViewModel()
{
DialogMessage = confirmation.Content as string,
DialogTitle = confirmation.Title,
}
};
(window.DataContext as YesNoDialogViewModel).CloseWindowCommand = new ActionCommand(window.Close);
我不想做这样的事情:
var window = new DialogWindow
{
DataContext = new YesNoDialogViewModel()
{
DialogMessage = confirmation.Content as string,
DialogTitle = confirmation.Title,
CloseWindowCommand = new ActionCommand(window.Close)
}
};
但是,我似乎无法弄清楚(new ActionCommand(window.Close)
无法编译,不能在其声明之前使用 window)。
是否有任何 hack 或解决方法来添加对 void 的引用?
你不能把它放在对象初始值设定项中,因为 ActionCommand()
在参数中使用了尚未创建的对象 - window -> window.Close()
.
我偶然发现无法在对象初始值设定项中将 windows 方法用作 属性 的问题:
var window = new DialogWindow
{
DataContext = new YesNoDialogViewModel()
{
DialogMessage = confirmation.Content as string,
DialogTitle = confirmation.Title,
}
};
(window.DataContext as YesNoDialogViewModel).CloseWindowCommand = new ActionCommand(window.Close);
我不想做这样的事情:
var window = new DialogWindow
{
DataContext = new YesNoDialogViewModel()
{
DialogMessage = confirmation.Content as string,
DialogTitle = confirmation.Title,
CloseWindowCommand = new ActionCommand(window.Close)
}
};
但是,我似乎无法弄清楚(new ActionCommand(window.Close)
无法编译,不能在其声明之前使用 window)。
是否有任何 hack 或解决方法来添加对 void 的引用?
你不能把它放在对象初始值设定项中,因为 ActionCommand()
在参数中使用了尚未创建的对象 - window -> window.Close()
.