Я попытался создать пользовательский элемент управления UserControl "UserControl1" в WPF, который наследуется от базового класса. Среди прочего я получаю эту ошибку в XAML:
Ошибка XDG0008 Имя «ControlBase» не существует в пространстве имен «clr-namespace: Temp».
Я также получаю сообщение об ошибке в DesignHeight & Width
Класс ControlBase был доступен при автозаполнении VS.
Класс 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 без ошибок компилятора.