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

我试图在继承自基类的 WPF 中创建自定义用户控件“UserControl1”。除其他外,我在 XAML 中收到此错误:错误 XDG0008 命名空间“clr-namespace:Temp”中不存在名称“ControlBase”。我在 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();

        }

    }

}

控制库.cs:


using System.Windows.Controls;


namespace Temp

{

    public class ControlBase : UserControl

    {

        public ControlBase() { }

    }

}

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


冉冉说
浏览 513回答 1
1回答

婷婷同学_

我不知道我做了什么,但它自己修复了。
打开App,查看更多内容
随时随地看视频慕课网APP