我正在构建一个 WPF 应用程序并将 caliburn.micro 用于 MVVM。我有几十个视图(用户控件)。
视图具有页眉正文和页脚。如下图所示,header 包含两个用于 crud 操作的按钮,footer 包含一个状态栏。
所有视图的页眉和页脚部分都相同,但不同视图的正文内容会有所不同。目前,我正在为每个视图的标题和正文重复代码,现在我正在尝试消除重复代码。
为了实现这一点,我正在考虑制作一个通用的基本视图,以便与所有其他视图共享。
当前实施
<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>
子视图
<Grid Name="Body"/>
可能是我的方法是错误的(我对 WPF 有点陌生)。
我的目标是通过将一些控件继承到视图中来消除重复代码。
如何将基本视图与子视图结合起来?谁能建议我达到我的要求?提供一些代码示例将不胜感激。