我正在学习 WPF 及其第一个 MVVM 应用程序。我正在观看使用 Silverlight 应用程序演示 MVVM 的视频。但是,我正在为 WPF 模仿它。在 Silverlight 中,视频演示者在 UserControl XAML 标记中创建一个事件,即 UserControl_Loaded,该事件成功。
但是,我正在 MainWindow.xaml 的 xaml 文件的 Window 根元素中创建 Window_Loaded
我收到此错误:(请帮助我。此事件“Window_Loaded”仅在第 5 行。
例外:
'向'System.Windows.Controls.UIElementCollection'类型的集合添加值引发异常。' 行号“5”和行位置“28”。
内部异常:
{“Window 必须是树的根。不能将 Window 添加为 Visual 的子级。”}
还请解释我为什么它与解决方案一起发生。我只是想学习 MVVM 并使用可观察集合、INotifyPropertyChanged 和模型类,并且我正在以硬编码的方式生成该对象的数据。
笔记:
我怀疑这是由于 clr-namespace 造成的。
首先,我想知道,为什么如果我输入 clr,intellisense 不会把我带到 clr ?相反,它只需要我在命名空间列表中的第一个 http 。其次,Silverlight Video 使用了项目的命名空间,而我使用了 View 的命名空间。因为,当我使用项目的命名空间时,它给了我一个错误,说“视图”没有找到。我哪里出错了:(
(或者):
是因为我试图插入另一个 window.xaml 页面的新 Window.xaml 页面吗?与 Silverlight 视频不同,它确实将 UserControl 插入到页面中。
MainWindow 变成 MainWindow 这里有问题吗?如果我在 MainWindow 中使用 UserControl 会得到解决吗?意思是,我们没有窗口到窗口?