我需要创建一个 BaseUserControl,它背后有一些自定义代码并继承自 UserControl,因此它可以用作实际使用 UserControls 的 ParrentClass。我读过很多文章,但我根本无法让它工作。BaseUserControl 不应该有任何设计元素,而是纯自定义的东西,例如要在将从它继承的其他 UserControls 中使用的引用,但设计元素会被引用。我将需要更多这样的 baseUseControls,所以扩展是不可能的。BaseUser 控件在一个项目中,而继承它的其余部分在另一个项目中。
1)我试图只创建一个继承的类。
public class EntryUserControlBase:UserControl
{
public EntryUserControlBase()
{
}
}
2) 也是继承自 UserControl
<UserControl x:Class="SPIS_Base.EntryUserControlBase"
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"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
</Grid>
</UserControl>
我试图像这样继承它
<local:EntryUserControlBase x:Class="SPIS.AppControls.uclLogin"
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:SPIS_Base;assembly=SPIS_Base"
mc:Ignorable="d"
d:DesignHeight="200" d:DesignWidth="300">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ShowGridLines="False">
</Grid>
</local:EntryUserControlBase>
我发现很多文章解释了如何做到这一点,但我无法让它运行。
有小费吗?