Derive XAML UserControl

本文关键字:UserControl XAML Derive | 更新日期: 2023-09-27 18:05:57

我是WPF的新手,我有一个问题:

在我的项目中,我通常使用许多用户控件,这些用户控件是从我的'base' usercontrol派生出来的,它们有一些函数可以继承给我的所有用户控件。

与WPF(派生是相同的winforms)是可能派生也XAML?我希望创建一个XAML,它的头包含XML名称空间,以及重要的UserControl.Resources.

有可能吗?

Thanks in advance

Derive XAML UserControl

如果您希望在您的用户控件之间共享资源,请将它们放在针对您的用户控件基类型的Style中。要在整个应用程序中访问(和应用)这些资源,请在App.xaml.

中定义它们。

您可以在您的基类型的Style中定义它们:

<Style TargetType={x:Type YourBaseType}>
    <Style.Resources>
       <!-- define your resources here -->
    </Style.Resources>
</Style>

或者,您可以将它们应用于所有UserControls(可能不可取):

<Style TargetType={x:Type UserControl}>
    <Style.Resources>
      <!-- define your resources here -->
    </Style.Resources>
</Style>

如果你想派生视觉方面,再次使用Style,在App.config定义中应用setter。如果需要,这些可以被特定实例"覆盖"。还可以看看ControlTemplate