4

XAML中的继承是如何实现的?

是否只能继承代码隐藏而不是.xaml相关问题)?将父级包含在子控件的命名空间中是唯一的方法吗?

XAML本身似乎没有一般的“继承” 。有关于继承等问题,但不是一般继承UserControl

问题:

我有 2 个 xaml 文件File1.xamlFile2.xaml,它们非常相似。我可以创建一个SuperFile.xaml并将以下大部分代码放入其中吗?

<UserControl ... >
    <Grid>
        <Grid.RowDefinitions ... />

        <DockPanel ... >
            <ToolBar ... >
                <!-- Some Buttons here:
                     File1.xaml to contain the Buttons "View" and "Export"
                     File2.xaml to contain the Buttons "Edit" and "Delete"
                 -->
            </ToolBar>
        </DockPanel>

        <igDP:XamDataGrid MouseDoubleClick="xamDataGrid1_MouseDoubleClick" ... />
    </Grid>
</UserControl>

唯一不同File1.xamlFile2.xaml

  1. Buttons 中ToolBar(见代码中的注释)
  2. 属性XamDataGrid主要是事件(它们在每种情况下的作用)。

我怎样才能做到这一点?我是否必须分别为两个孩子编写代码隐藏文件?

4

1 回答 1

5

您可以使用资源字典

将所有通用模板和样式放在 a 中ResourceDictionary,然后同时UserControls导入ResourceDictionary

<UserControl.Resources>
    <ResourceDictionary Source="BaseStylesAndTemplates.xaml" />
</UserControl.Resources>
于 2012-07-05T18:14:16.097 回答