所以,一切都在标题中,我只想在我的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“中不存在。
我确定我做错了什么,但我真的不知道是什么......
的xmlns:其他= “CLR-名称空间:MyDllProject”
上面的import语句显示您指向本地项目的命名空间。如果你想添加另一个项目(Dll项目)的refrance,那么你必须添加名称空间
的xmlns:其他= “CLR-名称空间:MyDllProjectNamespace;装配= MyDllProject”
这将指向其他程序集中存在的名称空间。
请参阅此Article以了解Xaml中的命名空间
条件确保可以从其他组件访问使用控件。
将您的用户控件添加到控件工具框,然后从那里拖放到您的表单。 Visual Studio将处理名称空间和类似的事情。
将dll引用添加到项目中。将此usercontrol的命名空间添加到xaml的帖子
比如xmlns:local =“... dll path; assembly = ....”
现在可以在xaml中访问用户控件