C# 具有自定义XAML控件的WPF项目

C# 具有自定义XAML控件的WPF项目,c#,wpf,xaml,visual-studio-2013,C#,Wpf,Xaml,Visual Studio 2013,我是新的WPF编码。我有一个项目,它的自定义控件编码为xaml,后面是C#代码。我尝试将这些文件导入到另一个项目中,当我尝试在主视图文件中使用这些xaml控件时,Visual Studio找不到导入的xaml和C#代码后面附加的命名空间 我尝试将名称空间更改为与当前项目相同。我尝试重新启动Visual Studio 2013。这两个都不起作用 我尝试将带有自定义控件的项目添加到我的解决方案中。导入的项目可以读取自定义xaml,但我的主项目仍然无法引用它们。我试着把这些文件拖到主项目上,但它们仍然

我是新的WPF编码。我有一个项目,它的自定义控件编码为xaml,后面是C#代码。我尝试将这些文件导入到另一个项目中,当我尝试在主视图文件中使用这些xaml控件时,Visual Studio找不到导入的xaml和C#代码后面附加的命名空间

我尝试将名称空间更改为与当前项目相同。我尝试重新启动Visual Studio 2013。这两个都不起作用

我尝试将带有自定义控件的项目添加到我的解决方案中。导入的项目可以读取自定义xaml,但我的主项目仍然无法引用它们。我试着把这些文件拖到主项目上,但它们仍然不起作用

我试着在我的新项目中重建控制xaml和C#代码,但它仍然说:


找不到类型“local:ClickSelectTextBox”。请验证是否缺少程序集引用,以及是否已生成所有引用程序集


此项位于适当的命名空间下并在当前项目中。

在visual studio中,转到工具->选择工具箱项。这将允许您从不同组件的数组中进行选择,或者浏览以查找要使用的dll

编辑:

哦,那么您正在尝试获取您已经编写的自定义xaml文件,并在单独的项目中修改它们?我建议两件事中的一件

1:右键单击项目名称->添加现有文件,同时将xaml和xaml.cs文件添加到项目中

如果出于某种原因,这不起作用,您也可以尝试


2:在项目中创建一个新的xaml控件(与要插入的控件同名),并将xaml代码复制粘贴到该控件中,这将自动生成所需的codebehind designer shell。然后,您可以进入xaml.cs文件并删除您正在寻找的任何业务逻辑。这并不是最干净的解决方案,但有时WPF编辑器在导入xaml文件时会有点怪怪的

我知道这是一篇老文章,但仍然有人会发现它很有用:)所以。。。确定

1) 您没有根命名空间之外的公共类,请检查此项

2) 您没有混合程序集的目标(除非您无法100%避免)

例如,如果您在AnyCPU项目中引用类似SQLite.Core NuGet(内置了x86和x64版本的SQLite.Interop.dll)的内容,有时将应用程序的目标设置为x86或x64以解决x86/x64路径问题会更容易,但您可能会得到所有这些“未找到类型/未生成控件/未找到程序集”以及Designer的所有废话,即使您的应用程序生成并运行正常


希望这能帮助您下载ReSharper的试用版,安装它,然后再次打开您的代码。ReSharper与XAML代码的一个很棒的功能是,它会自动将对象映射到相应的名称空间。我认为这会让您更容易,并会向您展示很多方法来做得更好首先学习WPF使用Resharper真是天赐良机。

您是否添加了
xmlns:controls\u namespace
指令?能否澄清“Visual Studio找不到命名空间”的含义?能否澄清“导入的项目可以读取自定义xaml”的含义"? 你是说自定义控件所在的项目吗?网上有很多为WPF编写自定义控件项目的教程。使用那些。是的,我已经完成了那些教程。我错过了一些东西。在我的新项目中,我尝试重新构建xaml和C#代码落后的控件。它仍然说:我正在尝试添加xaml和C#代码落后的文件,以便我可以自定义它们。我不能这样做。我发现错误:找不到“local:ClickSelectTextBox”类型。请验证是否缺少程序集引用,以及是否已生成所有引用程序集。我也尝试在工具箱下添加控件,但它们都会引发异常。