WPF UserControl不直接从UserControl派生

时间:2012-12-04 13:18:13

标签: c# wpf user-controls

我想创建几个具有一些常用功能的WPF UserControl类。出于这个原因,我想从一个新的基类派生类,而这个基类又来自UserControl

我的问题是我的C#类定义为partial,并且我的新基类自动生成了来自derives的其他部分UserControl而不是。我可以让Visual Studio从我的基类而不是UserControl派生部分类吗?

1 个答案:

答案 0 :(得分:8)

当然 - 创建一个用作用户控件基本调用的类:

public class BaseUserControl : UserControl
{
    //TODO: Add your common functionality
}

接下来,创建一个用户控件,并更改根声明以引用您的基类:

<controls:BaseUserControl x:Class="WpfApplication2.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:controls="clr-namespace:WpfApplication2"
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <Grid>

    </Grid>
</controls:BaseUserControl>

并将部分类更改为匹配:

public partial class UserControl1 : BaseUserControl
{
    public UserControl1()
    {
        InitializeComponent();
    }
}