Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何为自定义控件设置命名空间_C#_Wpf_Namespaces - Fatal编程技术网

C# 如何为自定义控件设置命名空间

C# 如何为自定义控件设置命名空间,c#,wpf,namespaces,C#,Wpf,Namespaces,我已经实现了这个解决方案,并解释了如何制作一个outlinedTextbox 我已经创建了一个测试项目,并直接添加到主命名空间中,它可以正常工作 现在我想把它添加到一个库(HelperLib)中,并想在我想要的任何程序中使用它。例如,这里的程序称为pcdLoggerS2 但是当我把它添加到我的xaml中时,它说 所以这是一个名称空间的问题。 因此,我要补充一点 xmlns:local="clr-HelperLib" 在我对my Base的定义中:WindowViewBase,但没有任何更改

我已经实现了这个解决方案,并解释了如何制作一个outlinedTextbox

我已经创建了一个测试项目,并直接添加到主命名空间中,它可以正常工作

现在我想把它添加到一个库(HelperLib)中,并想在我想要的任何程序中使用它。例如,这里的程序称为pcdLoggerS2

但是当我把它添加到我的xaml中时,它说

所以这是一个名称空间的问题。 因此,我要补充一点

xmlns:local="clr-HelperLib"
在我对my Base的定义中:WindowViewBase,但没有任何更改,但它确实位于该命名空间中

--为大卫加上---
检查类的名称空间

HelperLib
它是一个类的名称,但不是名称空间

试着写下以下内容:

xmlns:local="clr-namespace:HelperLib"

您需要确保已添加HelperLib项目作为对测试项目的引用

打开PcdLogger并右键单击引用,然后将该项目添加为引用。在执行此操作之前,测试项目中的XAML将无法找到正确的程序集

此外,当您从另一个程序集引用名称空间时,需要将该信息添加到XAML中的名称空间声明中

(见:)

例如: (我建议使用本地名称空间)

编辑:
此外,VisualStudio的intellisense喜欢告诉您,在构建项目之前,名称空间或类是不存在的。您可能需要重建和/或关闭/重新打开xaml文件,intellisense才能再次合作

请查看添加的倒数第二张图片。请参阅@David的答案。您必须在外部库的代码中调用
命名空间。classname
,或者使用
using
关键字。您是否添加了对带有库的项目的引用?我添加了您的行,它再次表明:名称OutlinedTextBox在命名空间“clr命名空间:HelperLib;Assembly=BelperLib”中不存在但如果我右键单击并转到定义,它将引导我找到正确的类。helperLib作为附加项目添加。还有什么可能是错误的?你是否拼写错了HelperLib(BelperLib),或者这是实际的错误?另外,您是否尝试运行它?编辑经常会告诉你,如果你还没有重建,那么在XAML中,有些东西是不存在的!!它起作用了,但编辑一直说它错了。因此,请将其作为解决方案发布,以便我可以奖励您。然后:我一定不再使用编辑器了吗?!?!?!我已经在这个答案中添加了额外的信息:)虽然这段代码可以回答这个问题,但提供了关于为什么和/或如何回答这个问题的额外上下文,从而提高了它的长期价值。
xmlns:helper="clr-namespace:HelperLib;assembly=HelperLib"