无法在WPF中创建继承的usercontrol,本地命名空间中的基本控件“不存在”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在WPF中创建继承的usercontrol,本地命名空间中的基本控件“不存在”相关的知识,希望对你有一定的参考价值。

我试图在WPF中创建一个自定义UserControl,“UserControl1”继承自基类。其中我在XAML中收到此错误:错误XDG0008名称“ControlBase”在命名空间“clr-namespace:Temp”中不存在。我在DesignHeight&Width也遇到错误

VS自动完成中提供了Control Base类。

ControlBase类在命名空间Temp中定义。

我已经尝试更改基类的关键字,例如添加部分。

UserControl1.xaml:

<local:ControlBase x:Class="Temp.UserControl1"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:Temp"
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800">
    <Grid>

    </Grid>
</local:ControlBase>

UserControl1.xaml.cs:

namespace Temp
{
    /// <summary>
    /// Interaction logic for UserControl1.xaml
    /// </summary>
    public partial class UserControl1 : ControlBase
    {
        public UserControl1()
        {
            InitializeComponent();
        }
    }
}

ControlBase.cs:

using System.Windows.Controls;

namespace Temp
{
    public class ControlBase : UserControl
    {
        public ControlBase() { }
    }
}

我希望UserControl1继承ControlBase而不会出现编译错误。

答案

我不知道我做了什么,但它修好了。

以上是关于无法在WPF中创建继承的usercontrol,本地命名空间中的基本控件“不存在”的主要内容,如果未能解决你的问题,请参考以下文章

WPF:无法设置焦点

wpf自定义控件或窗体继承问题,继承之后出现不能是 XAML 文件的根

无法在新的 AppDomain 中创建 UserControl

WPF中UserControl中DesignWidth和Width的区别

如何在 XAML 代码中创建支持其中其他元素的 UserControl

在 WPF C# 中无法访问用户控件的自定义属性