如何将我的UserControl从另一个项目(Dll)添加到我的WPF解决方案?

时间:2013-07-02 10:13:40

标签: c# wpf dll user-controls

所以,一切都在标题中,我只想在我的WPF窗口中添加一个UserControl。看起来很简单但UserControl在同一解决方案中的另一个项目(Dll项目)中。我只是不能参考它。

所以,我最好的尝试是这样的:

<Window xmlns:local="clr-namespace:MyWindowProject" x:Name="window"
    xmlns:other="clr-namespace:MyDllProject"
    x:Class="MyWindowProject.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
    <other:MyUserControl />
</Window>

我知道我已经找到了如何制作它因为我只有一个错误并且自动完成功能正在MyUserControl上运行。但是,我有这个奇怪的错误:“名称'MyUserControl'在名称空间”clr-namespace:MyDllProject“中不存在。

我确定我做错了什么,但我真的不知道是什么......

3 个答案:

答案 0 :(得分:8)

  

的xmlns:其他= “CLR-名称空间:MyDllProject”

上面的import语句显示您指向本地项目的命名空间。如果你想添加另一个项目(Dll项目)的refrance,那么你必须添加名称空间,如

  

的xmlns:其他= “CLR-名称空间:MyDllProjectNamespace;装配= MyDllProject”

这将指向其他程序集中存在的命名空间。

请参阅此Article以了解Xaml中的命名空间

条件确保可以从其他程序集访问使用控件。

答案 1 :(得分:1)

将您的用户控件添加到控件工具框中,然后从那里拖放到您的表单中。 Visual Studio将处理命名空间等事情。

答案 2 :(得分:-1)

将dll引用添加到项目中。 将此usercontrol的名称空间添加到xaml

的帖子

说xmlns:local =“... dll path; assembly = ....”

现在可以在xaml中访问用户控件