对于回答,请参阅下文。 (https://stackoverflow.com/a/46615550/6826935)
我正在进行WPF开发并遇到此错误。
System.Windows.Markup.XamlParseException中的错误 的InitializeComponent();
代码摘录:(MainWindow.xaml.cs)
public MainWindow()
{
InitializeComponent(); // Exception here
this.DataContext = this;
// UI stuff here, deleted
}
这个例外说明了
为类型集合添加值 ' System.Windows.Controls.UIElementCollection'抛出异常。' 行号' 23'和行位置' 10'。
所以这是相关文件(MainWindow.xaml)中的第23-24行
xmlns:local="clr-namespace:Cozyplanes.SudokuApp"
// UI stuff here..., deleted
<local:SudokuUserControl x:Name="SudokuGrid" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="454" Height="451"
Loaded="SudokuGrid_Loaded" KeyUp="SudokuGrid_KeyUp" MouseLeftButtonUp="SudokuGrid_MouseLeftButtonUp"/>
我不知道为什么会这样。 MainWindow类正在扩展Window。
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window { ... }
作为参考, SudokuUserControl.xaml.cs
/// <summary>
/// Interaction logic for SudokuUserControl.xaml
/// </summary>
public partial class SudokuUserControl : Window { ... }
并在输出中
Step into: Stepping over non-user code 'Cozyplanes.SudokuApp.App.InitializeComponent'
任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
好的,这是未来的答案~~~~~ !!!!!! (好吧,我会闭嘴)
所以错误发生在MainWindow.xaml.cs
public MainWindow()
{
InitializeComponent(); // Exception here
this.DataContext = this;
// UI stuff here, deleted
}
它说MainWindow.xaml
的第23行有一个例外
xmlns:local="clr-namespace:Cozyplanes.SudokuApp"
//这里的UI东西......,已删除
现在你会注意到那里有SudokuUserControl
。
我的项目是这样的。 SudokuUserControl.xaml是MainWindow.xaml的顶部
MainWindow.xaml
|--- MainWindow.xaml.cs
SudokuUserControl.xaml
|--- SudokuUserControl.xaml.cs
SudokuUserControl
文件中引用了 MainWindow.xaml
个内容。
MainWindow.xaml.cs
文件正在扩展Window
,SudokuUserControl.xaml.cs
一直没有扩展。
所以布拉德利告诉我检查文件的根元素。
我检查了一下,发现根元素是Window
,而不是UserControl
。
因此,如果出现InitializeComponent()
错误,请确保引用了XAML
文件和XAML CS
文件中的内容。
现在就是这样。如果您需要问题,我会尽量帮助您!希望能帮助到你。谢谢,布拉德利。你是一个救星。 :P