如何为用户控件创建基类?

时间:2011-07-22 09:02:46

标签: c# windows-phone-7 silverlight-4.0

我认为我需要为我的控件创建一个新的基类,因为我要做的是为各种布局变化创建多个控件,但我希望它们都能处理相同的信息。

这是一个应用程序,我初始化一个新的usercontrol并在构造函数中传递它的参数,以便它将控件实例添加到具有特定布局的控件实例。

我是否需要在xaml文件中进行绑定,以便基类可以控制xaml文件中的内容?

1 个答案:

答案 0 :(得分:2)

您最好的选择是使用自定义而非用户控件。这是因为自定义控件看起来较少,这使您可以为不同的布局使用不同的样式。

另一种选择是使用继承。

例如,给定一个名为Foo的基类

public Foo : UserControl
{
  ...
}

然后你会创建多个控件来扩展这个

代码:

public partial Bar : Foo
{
  ...
}

XAML:

<Foo  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
  <Grid >
  </Grid>
</Foo>

(注意在Xaml中使用基类而不是UserControl。)