我把头发拉出来,无法弄清问题是什么。
MyProject
MyProject.GUI
在MyProject.GUI
内,有三个元素:Form
,Keyboard
和SelectWrapper
我们去(没有.xaml,只有.cs)
namespace MyProject.GUI
{
public class SelectWrapper : Grid
...
和键盘cs
namespace MyProject.GUI
{
public partial class Keyboard : UserControl
{
...
和键盘xaml
<UserControl
x:Class="MyProject.GUI.Keyboard"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
并形成.cs
namespace MyProject.GUI
{
public partial class Form : Window
...
并形成XAML
<Window
x:Class="MyProject.GUI.Form"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:gui="clr-namespace:MyProject.GUI"
...
<gui:Keyboard
<gui:SelectWrapper
编译器(以及设计者)抱怨道:
“MyProject”
类型中不存在类型名称“GUI”“MyProject”
类型中不存在类型名称“GUI”名称“SelectWrapper”在命名空间“clr-namespace:MyProject.GUI”中不存在。
它不会抱怨键盘(只有表格)。请协助。
答案 0 :(得分:1)
Keyboard
类位于另一个名称空间,即InvoiceFlow.GUI
,不是吗?
<Window
x:Class="MyProject.GUI.Form"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:gui="clr-namespace:MyProject.GUI"
xmlns:kbd="clr-namespace:InvoiceFlow.GUI"
...
<kbd:Keyboard
<gui:SelectWrapper
您需要确保没有其他编译错误,以便您能够构建。
答案 1 :(得分:1)
如果编译器说MyProject
是类型,我会假设某个地方有某个类型的名称。我能够通过在MyProject
命名空间中定义名为MyProject.GUI
的类来重现这一点:
namespace MyProject.GUI
{
public partial class Form : Window
{
public Form()
{ ... }
}
public class MyProject
{
}
public class SelectWrapper
{
}
}
XAML
<Window
x:Class="MyProject.GUI.Form"
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"
xmlns:gui="clr-namespace:MyProject.GUI"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<gui:SelectWrapper
x:Key="test"
/>
</Window.Resources>
错误CS0426类型名称“GUI”在“MyProject”类型中不存在 错误CS0426类型名称“GUI”在“MyProject”类型中不存在 错误名称“SelectWrapper”在名称空间“clr-namespace:MyProject.GUI”中不存在。
因此,我会在项目中或解决方案的其他位置查找该名称的类。