WPF基类是否可以包含派生类的控件?

时间:2010-03-24 22:11:04

标签: wpf silverlight

我有几个UserControls有一些相同的控件执行相同的工作 是否可以将这些控件提取到基类中? 当我尝试它时,我得到一个错误,生成的.g.cs文件中的定义将隐藏父def 我想做什么:

public class ctlBase : UserControl
{
  internal CheckBox chkBox { get; set; }
}
In the .xaml of the derived class:  
<Grid>
  <CheckBox x:Name="chkBox" />
</Grid>
public class DerivedCtl : ctlBase
{  }

感谢您的任何见解...

2 个答案:

答案 0 :(得分:1)

如果我正确地解释了您的问题,您想要的是一个UI,它由一组常用控件和另一组控件组成,这些控件由其他逻辑确定。

这是实现此目的的一种方式。

创建一个对话框/表单/用户控件,其中包含“基本”控件

添加一个包含“派生”控件的网格

创建一个或多个其他用户控件以包含“派生”控件

以编程方式添加逻辑以创建适当的“派生”用户控件的实例,并将其添加到网格中。这当然会在运行时发生。

也许WPF专家会有更复杂的答案......

答案 1 :(得分:1)

是的。你能行的。请参阅:How can a WPF UserControl inherit a WPF UserControl?