InitializeComponent()中的System.Windows.Markup.XamlParseException(UserControl)

时间:2017-10-06 13:42:55

标签: c# wpf xaml exception

对于回答,请参阅下文。 (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'

任何帮助将不胜感激。谢谢。

1 个答案:

答案 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文件正在扩展WindowSudokuUserControl.xaml.cs一直没有扩展。

所以布拉德利告诉我检查文件的根元素。 我检查了一下,发现根元素是Window,而不是UserControl

因此,如果出现InitializeComponent()错误,请确保引用了XAML文件和XAML CS文件中的内容。

现在就是这样。如果您需要问题,我会尽量帮助您!希望能帮助到你。谢谢,布拉德利。你是一个救星。 :P

相关问题