我正在構建一個WPF應用程序,並使用caliburn.micro for MVVM。 我有幾十個視圖(UserControls)。WPF MVVM視圖/用戶控件繼承或類似的概念?
視圖有標題正文和頁腳。 如下圖所示,標題包含兩個用於粉碎操作的按鈕,頁腳包含一個狀態欄。
頁眉和頁腳份將是相同的所有視圖,但身體的內容會有所不同對視圖中查看。 目前我正在爲每個視圖重複代碼的標題和正文,現在我試圖消除重複的代碼。
爲了達到此目的,我正在考慮制定一個共同的基本視圖,與所有其他視圖共享。
當前實現
<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>
試圖acheive像
基礎視角
<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中不可能繼承Views(UserControls),你的頁眉和頁腳在整個應用程序中是否保持不變? – XAMlMAX
是的它沒有改變。只是我想以某種方式將頁眉和頁腳添加到我的子視圖中。 – Rahul