[英]Main Window DataContext StackOverflowException
我知道這聽起來很瘋狂,但是出於我的理解,您如何解釋將Window.DataContext
設置為MainWindow
導致此錯誤:
“引發了類型為'System.StackOverflowException'的異常。”
<Window>
<Window.DataContext>
<local:MainWindow />
</Window.DataContext>
</Window>
初始化窗口時,XAML會膨脹為真實對象。 這些真實對象的構造函數稱為,將其初始化。
該行實際上創建了MainWindow
的新實例,而不是返回現有實例:
<local:MainWindow />
因此,您的XAML創建了一個新窗口,該窗口將DataContext
設置為新窗口,將其DataContext
設置為新窗口,將其DataContext
設置為新窗口,將其DataContext
設置為新窗口,並將其DataContext
設置為新窗口,將其DataContext
設置為新窗口,將其DataContext
設置為新窗口,將其DataContext
設置為新窗口,將其DataContext
設置為新窗口,將其DataContext
設置為新窗口,該窗口將其DataContext
到新窗口,這會將其DataContext
設置到新窗口,
等等,直到整個事情崩潰和燃燒。
你大概意思做的,是這樣的:
<Window DataContext="{Binding RelativeSource={RelativeSource Self}}">
</Window>
DataContext
設置為窗口的當前實例 ,而不是新窗口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.