1

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

在我的项目中,我通常使用许多从我的“基本”用户控件派生的用户控件,它们有一些功能可以继承给我的所有用户控件。

使用 WPF(派生与 winform 相同)是否也可以派生 XAML?我希望创建一个带有 XML 命名空间的标头和重要的 UserControl.Resources 的 XAML。

可能吗?

提前致谢

4

1 回答 1

2

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

您可以在基本类型的样式中定义它们:

<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>

如果您希望获得视觉方面,请再次使用样式,在 App.config 定义中应用 Setter。如果需要,这些可以被特定实例“覆盖”。也看看ControlTemplate

于 2013-03-27T05:34:41.493 回答