【问题标题】:The name 'InitializeComponent' does not exist in the current context in WPF applicationWPF 应用程序的当前上下文中不存在名称“InitializeComponent”
【发布时间】:2018-06-13 23:06:15
【问题描述】:

我在 StackOverflow 上检查了所有类似的问题,但没有一个答案能解决我的问题。我只是在标题中得到错误。

这是我的 MainVindow.xaml:

<Window x:Class="CodeFirstMVVM.App.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:cm="clr-namespace:System.ComponentModel;assembly=System"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:vm="clr-namespace:CustomerOrder.App.ViewModel"
        xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
        mc:Ignorable="d"
        DataContext="{Binding Source={StaticResource Locator}, Path=CustomerView}"
        Title="MainWindow" Height="500" Width="900">
    <Grid>
        <Canvas>
            <TextBox Height="23" Canvas.Left="131" TextWrapping="Wrap"  Canvas.Top="51" Width="283" Name="txtName" Text="{Binding NameUI}"/>
            <DataGrid x:Name="maingrid" ItemsSource="{Binding Entities, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" SelectedItem="{Binding SelectedEntity}" AutoGenerateColumns="True" Canvas.Left="10" Canvas.Top="265">
                <DataGrid.Columns>
                    <DataGridTextColumn Binding="{Binding Name}" Header="Name" Width="200"></DataGridTextColumn>
                </DataGrid.Columns>
            </DataGrid>
            <DataGrid x:Name="ordergrid" ItemsSource="{Binding ElementName=maingrid, Path=SelectedItem.Orders}" AutoGenerateColumns="True" Canvas.Top="265" Canvas.Left="597">
                <DataGrid.Columns>
                    <DataGridTextColumn Binding="{Binding Explanation}" Header="Orders" Width="200"></DataGridTextColumn>
                </DataGrid.Columns>
            </DataGrid>
        </Canvas>

    </Grid>
</Window>

这是我的 App.xaml:

<Application x:Class="CustomerOrder.App.App" 
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
             xmlns:d ="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:mc ="http://schemas.openxmlformats.org/markup-compatibility/2006"
             StartupUri="MainWindow.xaml" 
             mc:Ignorable="d">
    <Application.Resources>
        <vm:ViewModelLocator x:Key="Locator" d:IsDataSource="True" xmlns:vm="clr-namespace:CustomerOrder.App.ViewModel" />
    </Application.Resources>
</Application>

在 MainWindow.xaml.cs 上:

namespace CustomerOrder.App
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }
}

你能告诉我如何解决这个问题吗?谢谢。

【问题讨论】:

  • 发布您的MainWindow.xaml.cs 代码
  • @YuliamChandra 我已添加,谢谢。
  • 命名空间不一样,是x:Class="CodeFirstMVVM.App.MainWindow"namespace CustomerOrder.App的问题
  • @YuliamChandra 这就是答案。您应该将其发布为答案而不是评论。

标签: c# wpf xaml


【解决方案1】:

要修复它,请更改 xaml 的命名空间

<Window x:Class="CustomerOrder.App.MainWindow"

【讨论】:

    【解决方案2】:

    您的 MainWindow 类与 xaml 不在同一个命名空间中。 改成

    namespace CodeFirstMVVM.App
    { 
          /// <summary>
          /// Interaction logic for MainWindow.xaml 
          /// </summary> 
          public partial class MainWindow : Window 
         { 
                public MainWindow()
                { 
                      InitializeComponent(); 
                 }
         } 
     }
    

    【讨论】:

      【解决方案3】:

      在完成上述所有检查并且所有命名空间都匹配时,我多次收到此错误。

      修复它的方法是再次重新输入“X:Class”属性。然后 VS 似乎可以正确解析它并进行正确的关联。

      这种简单地重新输入 VS 抱怨的内容的技术也适用于许多其他错误。

      非常沮丧...

      【讨论】:

      • 我不知道为什么这是必要的,但这个解决方案也为我解决了这个问题。就我而言,命名空间已经正确,并且软件成功编译,但 Visual Studio 还是报告了这些错误。谢谢。
      【解决方案4】:

      在创建 xaml 文件时,App.Xaml 文件的类名称应为 NameSpace.app,而其他 Windows 应具有 NameSpace.WindowName。

      【讨论】:

        【解决方案5】:

        我一直在排除和重新包含 xaml 和相应的文件。

        对我来说关闭并重新打开 Visual Studio 工作

        【讨论】:

          猜你喜欢
          • 2021-10-23
          • 2011-10-19
          • 2016-06-01
          • 1970-01-01
          • 1970-01-01
          • 2012-08-03
          • 1970-01-01
          • 2023-03-20
          相关资源
          最近更新 更多