WPF UserControl继承:未找到命名空间

omjgkv6w  于 11个月前  发布在  其他
关注(0)|答案(2)|浏览(169)

我在跟踪this article
我有一个用户控件,看起来像这样:

<common:ViewBase
    x:Class="MyNamespace.MyView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:common="clr-namespace:Common;assembly=Common">
</common:ViewBase>

字符串
我的代码看起来像这样:

namespace MyNamespace
{
    public partial class MyView : ViewBase
    {
        public MyView()
        {
            InitializeComponent();
        }
    }
}


ViewBase看起来像这样:

namespace Common
{
    public class ViewBase : UserControl
    {
    }
}


但它拒绝构建,我一直得到以下错误:未找到类型“common:ViewBase”。请验证您没有丢失程序集引用,并且所有引用程序集都已构建。
我根据另一篇文章的建议将ViewBase移动到一个单独的程序集,但我也尝试将它放在同一个程序集中。有人知道如何解决这个问题吗?

zpjtge22

zpjtge221#

我能够使用您的代码作为示例进行编译,并具有单独的程序集。如果您将其放入单独的程序集中,则必须确保在派生的UserControl工作之前进行构建。如果它位于单独的程序集中,请验证您对UserControl的正确引用。我必须添加PresentationCore,PresentationFramework,System.Xaml,和WindowsBase之前,该项目将建立。为了让它建立与引用,我不得不排除派生的UserControl从其他项目。
这是一个先有鸡还是先有蛋的场景。在我得到另一个要构建的程序集之后,我就能够构建派生的UserControl所在的程序集了。
如果在单独的程序集中没有基UserControl,请验证Xaml命名空间是否正确:

xmlns:common="clr-namespace:Common;assembly=Common" // separate assembly
xmlns:common="clr-namespace:Common" // same assembly

字符串
如果你仍然有问题,请张贴更多的代码和/或更多的错误消息,如果你有一个以上的。这可能是另一个错误消息是真实的罪魁祸首在这里。

wswtfjt7

wswtfjt72#

两个星期以来,我一直在为同一个问题而斗争,我感到绝望。
我的任务是用xmlns:local=“clr-namespace:myPresentationLayernamespace”和作为UserControl加载一个完整的窗口。
在与Bing进行了几次会话后,它将我重定向到这篇文章及其线索:
在构建该项目之前,我必须添加PresentationCore、PresentationFramework、System.Xaml和WindowsBase。
实际上,我只找到并安装了System.Runtime.WindowsRuntime.UI.Xaml nuget扩展,结果是瞬间的:* 所有构建错误都消失了 *。
我没有移动任何组件的项目。只是安装了扩展。非常高兴与此职位和冰的援助。

相关问题