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