簡體   English   中英

主窗口DataContext StackOverflowException

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM