这很奇怪.
我有一个XAML文件,如下所示......
<Window
x:Name="window"
x:Class="ix.Production.Title"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Title" Height="768" Width="1024"
Loaded="window_Loaded">
<Window.Resources>
etc...
Run Code Online (Sandbox Code Playgroud)
我的代码旁边看起来如下......
using System;
using System.Windows;
using System.Windows.Media.Animation;
using System.Threading;
namespace ix.Production
{
public partial class Title : Window
{
public Title()
{
InitializeComponent();
}
....
Run Code Online (Sandbox Code Playgroud)
此代码拒绝编译,因为Visual Studio坚持认为InitializeComponent"在当前上下文中不存在".
我该如何解决这个问题?
gp.*_*gp. 48
有一种情况我在复制粘贴XAML控件/窗口等时发现了这种情况.InitializeComponent方法存在于自动生成的相应.g.cs文件中.在我的例子中,在复制粘贴后,XAML的Build Action(在Properties窗口中)被更改为"Resource".我把它改成了"Page",它开始工作正常.
我希望这有帮助.
这让我这个线程是"的InitializeComponent"的名称不存在....
Boj*_*nik 34
你的XAML说:
x:Class="ix.Production.Title"
Run Code Online (Sandbox Code Playgroud)
而实际的班级是ix.Outage.Title.更改XAML声明或将类移动到ix.Production命名空间.
Dav*_*ghn 14
这么简单,但很容易被忽视:MainWindow's x:Class被设置为" MainWindow",当它应该设置为namespace.MainWindow(x:Class="namespace.MainWindow")时.如果没有这样做,那么该MainWindow.g.xaml文件将不包含命名空间块,并且对InitializeComponent()in MainWindow的构造函数的调用将不起作用.
虽然这显然不是Willem问题的解决方案,但我在这里发布了它,因为列出了许多其他解决方案.希望这可以帮助那些在尝试修复问题时偶然发现这篇文章的人.
您的命名空间不匹配:
x:Class="ix.Production.Title"
namespace ix.Outage { ...
Run Code Online (Sandbox Code Playgroud)
看起来这是 Visual Studio 2008 中的一个问题。
如果我创建一个新文件(即 Title2),复制/粘贴代码和 XAML,然后将所有“Title”更改为“Title2”,一切都会再次正常工作。
| 归档时间: |
|
| 查看次数: |
44069 次 |
| 最近记录: |