我有一个基类调用PopupWindow,它继承自UserControl。 PopupWindow没有关联的xaml页面,它只是一个继承自UserControl的常规类
然后我有另一个继承自PopupWindow的UserControl。现在这是一个合适的用户控件,它有一个关联的xaml页面。
我已将root xaml标记更改为PopupWindow,如此
<local:PopupWindow
.....
</local:PopupWindow>
其中local是此PopupWindow中的命名空间。
但是我一直收到一个错误,即PopupWindow在给定的命名空间中不存在。
我做错了什么?
由于
答案 0 :(得分:2)
我设法让这个工作如下:
家长控制:
public class PopupWindow : UserControl
{
}
继承控制:
代码背后:
public partial class PopupWindowChild
{
public PopupWindowChild()
{
InitializeComponent();
}
}
XAML:
<Controls:PopupWindow x:Class="MyNamespace.Controls.PopupWindowChild"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:MyNamespace.Controls">
<TextBlock Text="Blah" />
</Controls:PopupWindow>
主要观点:
<Window x:Class="MyNamespace.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:MyNamespace.Controls">
<Controls:PopupWindow />
</Window>
在构建代码之前,您的XAML无法识别您的控件。一旦建成并运行,我就会按照预期在主视图中看到“Blah”。