c# - 我的第一个WPF应用程序中的WPF window_loaded异常

标签 c# .net wpf mvvm wpf-controls

我正在学习WPF及其第一个MVVM应用程序。我正在观看一个视频,其中使用Silverlight应用程序演示了MVVM。但是,我为WPF模仿它。在Silverlight中,视频演示者在UserControl XAML标签(即UserControl_Loaded)中创建了一个成功的事件。

但是,我正在MainWindow.xaml的xaml文件的Window根元素中创建Window_Loaded

我收到此错误:(请帮助我。此事件“Window_Loaded”仅在第5行中。

异常(exception):

'Add value to collection of type 'System.Windows.Controls.UIElementCollection' threw an exception.' Line number '5' and line position '28'.

Inner Exception:

{"Window must be the root of the tree. Cannot add Window as a child of Visual."}



还请向我解释为什么它与解决方案一起发生。我只是想学习MVVM,并使用可观察的集合,INotifyPropertyChanged和模型类,并且以硬编码方式生成此对象的数据。

笔记:

我怀疑这是由于clr-namespace所致。

首先,我想知道为什么我输入clr时,intellisense不带我进入clr吗?相反,它只需要我按 namespace 列表的顺序首先进入http。其次,Silverlight Video使用了项目的 namespace ,但是,我使用了View的 namespace 。因为,当我使用项目的 namespace 时,它给我错误,提示找不到“ View ”。无论我哪里出错了:(

(或者):

是否由于我要插入另一个window.xaml页面的新Window.xaml页面?与Silverlight视频不同,它确实将UserControl插入到页面中。

MainWindow变成MainWindow在这里有问题吗?
如果我在MainWindow中使用UserControl,它将得到解决吗?意思是说,我们没有 window 可以进入 window 吗?

最佳答案

您不能在另一个窗口中拥有一个窗口! Window应该是xaml的根元素,您可以在其中添加其他元素。例如网格。我的建议是找到一些WPF教程和书籍(不是Silverlight)作为开始,因为WPF更强大,并且在许多方面都不同。

关于c# - 我的第一个WPF应用程序中的WPF window_loaded异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17397905/

相关文章:

wpf - 在 Model V/s ViewModel 中使用 IDataErrorInfo

c# - 读取 NLog 创建的日志文件并同时写入

c# - Linq(groupBy?)问题

c# - AvalonDock 是否可以以编程方式将 DockableContent 状态更改为 float ?

c# - 两个左尖括号 "<<"在 C# 中是什么意思?

jquery - 动态 CSS Sprite 注入(inject)

c# - 主窗口中的静态成员与实例成员

c# - 仅当服务存在时,如何才能在 blazor 中注入(inject)服务?

c# - EWS 代码和电子邮件签名

c# - 将 System.Drawing.Points 加在一起