首页 > 解决方案 > 无法在 WPF 中创建继承的用户控件,本地命名空间中的基本控件“不存在”

问题描述

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

ControlBase 类在 VS 自动完成中可用。

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

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

用户控件1.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 继承而不会出现编译器错误。

标签: c#wpfinheritancenamespacesuser-controls

解决方案


我不知道我做了什么,但它自己修复了。


推荐阅读