我已经检查了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();
}
}
}
你能告诉我如何解决这个问题吗?感谢。
答案 0 :(得分:11)
要修复它,请更改xaml
的命名空间<Window x:Class="CustomerOrder.App.MainWindow"
答案 1 :(得分:3)
您的MainWindow类与xaml不在同一名称空间中。 将其更改为
namespace CodeFirstMVVM.App
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
答案 2 :(得分:2)
在完成上述所有检查并且所有命名空间都匹配后,我多次收到此错误。
修复它的原因只是重新输入&#34; X:Class&#34;属性再次。然后VS似乎正确地解析它并进行正确的关联。
这种简单重新输入VS抱怨的技术也适用于许多其他错误。
非常令人沮丧......
答案 3 :(得分:0)
创建xaml文件时App.Xaml文件的类名称应为NameSpace.app,而其他Windows应具有NameSpace.WindowName。
答案 4 :(得分:0)
我已经摆弄了排除并重新包含xaml和相应的文件。
对我来说 关闭并重新打开Visual Studio 工作。