我正在构建一个WPF应用程序,使用caliburn.micro来实现MVVM模式。
我有数十个视图(UserControls)。
这些视图都有页眉、主体和页脚。如下图所示,页眉包含两个按钮用于CRUD操作,页脚包含状态栏。
所有视图的页眉和页脚部分都是相同的,但是主体内容在每个视图中都不同。
目前,我为每个视图重复编写了头部和主体代码,现在我正在尝试消除重复代码。
为了实现这一点,我考虑创建一个通用的基本视图,与所有其他视图共享。
当前实现
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel>
<Grid Name="Header/>"
<Grid Name="Body/>"
<Grid Name="Footer/>"
</StackPanel>
</UserControl>
尝试实现像这样的东西:
基础视图
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel>
<Grid Name="Header/>"
<!-- {Placeholder for child view} -->
<Grid Name="Footer/>"
</StackPanel>
</UserControl>
ChildView
<Grid Name="Body"/>
也许我的方法不正确(我对WPF有点陌生)。我的目标是通过将某些控件继承到视图中来消除重复代码。如何将基础视图与子视图组合?有谁能给我建议以实现我的需求?提供一些代码示例将不胜感激。
WPF
中,视图(用户控件)的继承是不可能的,您的应用程序中的标题和页脚是否始终保持不变? - XAMlMAX