【发布时间】:2016-06-30 09:08:09
【问题描述】:
我偶然发现了无法将 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) 无法编译,在声明之前无法使用窗口)。
是否有任何技巧或解决方法来添加对 void 的引用?
【问题讨论】:
-
@MatteoUmili 是的,我想。谢谢你的链接。这显然是不可能的。
标签: c# circular-reference object-initializers