2016-06-30 35 views
0

使用對象,我偶然發現不能夠使用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); 

我wan't做這樣的事情:

var window = new DialogWindow 
    { 
    DataContext = new YesNoDialogViewModel() 
    { 
     DialogMessage = confirmation.Content as string, 
     DialogTitle = confirmation.Title, 
     CloseWindowCommand = new ActionCommand(window.Close) 
    } 
    }; 

但是,我似乎無法弄清楚(new ActionCommand(window.Close)犯規編譯,其聲明之前不能使用窗口)。

是否有任何黑客或解決方法只是添加引用無效?

+0

@MatteoUmili是的,我想通了。謝謝你的鏈接。這顯然是不可能的。 – Mafii

回答

1

你不能把它放在對象初始值設定項中,因爲ActionCommand()在參數中使用了尚未創建的對象 - window - >window.Close()