13

我开始学习 XAML,并在我的 BlankPage 应用程序中添加了一些代码。突然一个正在初始化组件的构造函数:

    public BlankPage()
    {
        this.InitializeComponent();
    }

停止工作。我现在有这个错误:

“BlankApplication.BlankPage”不包含“InitializeComponent”的定义,并且找不到接受“BlankApplication.BlankPage”类型的第一个参数的扩展方法“InitializeComponent”(您是否缺少 using 指令或程序集引用?)

老实说我什么都没做,我什至没有看这部分代码,现在它不起作用。

截屏:

4

6 回答 6

14

只是为了提供更多关于如何解决这个问题的信息(因为这个解释有点含糊)..

这个问题(对我来说)是因为我在创建项目后更改了代码中的命名空间。为了解决这个问题,我不得不在几个位置进行一些更改:

1:在 App.xaml 中,我必须更改以下内容:

<Application
  x:Class="New.Namespace.App"

2:在 MainPage.xaml 我必须更改以下内容:

<Page
  x:Class="New.Namespace.MainPage"

您还需要确保更改 App.xaml.cs 以及 MainPage.xaml.cs 中的“命名空间”行。

最后,您还需要确保将 Package.appxmanifest 中的项目入口点更新为指向“New.Namespace.App”。

于 2013-01-03T21:18:13.563 回答
3

如果您的 Main 类的命名空间与 .xaml 文件的x:Class属性不同,您将收到此错误。例如;

您的 MainPage.xaml.cs;

    namespace UWPControls
    {
        /// <summary>
        /// An empty page that can be used on its own or navigated to within a Frame.
        /// </summary>
        public sealed partial class MainPage : Page
        {
            public MainPage()
            {
                this.InitializeComponent();
            }
        }
    }

您的 MainPage.xaml;

<Page
    x:Class="UWPControls_Different.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:UWPHelloWorld"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
</page>

在将x:class更改为;之前,您将看到错误。

x:Class="UWPControls.MainPage"

于 2018-08-08T12:56:34.193 回答
3

当您更改类的命名空间时会发生这种情况,您必须在 XAML 文件中执行相同操作。

XAML 文件中有两个位置具有旧的命名空间。

于 2016-10-13T11:08:42.207 回答
2

对我来说,该项目是其他项目的内部解决方案。当此处的建议不起作用时,从解决方案中简单地卸载和重新加载项目就可以解决所有错误(当然是重建)。

于 2019-04-29T14:38:10.557 回答
-1

我的解决方案:对于我的“SomePage:ContentPage”,我更改了 XAML 属性:

  • 生成器(自定义工具):从MSBuild:CompileMSBuild:UpdateDesignTimeXaml
  • BuildAction:从PageEmbedded resource

使用 Visual Studio 2017 企业版 15.3.4

于 2017-09-22T17:45:21.327 回答
-3

问题解决了。原因:我忘记在 xaml 代码中更改自定义应用程序名称。解决方案:我在 XAML 中更改了应用程序名称,现在它运行良好。

于 2012-04-23T13:58:04.173 回答