2010-10-11 37 views
1

我在大學做了一個VB.Net主題,主要任務是創建一個WPF應用程序。單個WPF窗口中的不同「視圖」

該應用程序是以管理爲中心的(添加,修改,刪除條目等)。由於這些都是非常不同的任務,我正在考慮爲我的任務創建一個標籤界面(與Spybot的界面類似:http://www.2-spyware.com/images/data_images/spybot-search-and-destroy1.jpg)。

我有點困惑,我應該如何解決這個問題?順便說一下,這會分類爲MDI嗎?

我們建議創建一個列出所有選項的菜單系統 - 選擇一個選項後,將打開一個新窗口,交互將發生。如果用戶想要做其他事情,他會關閉窗口並返回到菜單屏幕。

這對我來說看起來並不像一個優雅的方法,它似乎是一個有趣的練習來實現我所解釋的基於標籤的系統。

我很感激,如果任何人都可以指出我在正確的方向或提供任何提示,我應該如何實現。例如,是否可以在單獨的xaml /代碼隱藏文件中創建每個選項,然後將這些選項「插入」到每個選項卡中?

編輯:爲了澄清,讓我們假設一個室內足球隊管理系統。假設用戶可以執行五項不同的任務:「註冊玩家」,「修改玩家」,「註冊團隊」,「修改團隊詳細信息」,「將玩家添加到團隊」。

每個任務都與下一個分開。創建應用程序的一種方法是爲每個任務創建一個帶有按鈕的主頁面。當用戶點擊每個按鈕時,會打開一個新窗口(例如,如果用戶點擊「註冊玩家」,將打開一個新的玩家註冊窗口)。

我正在尋找,如上所述,是一個基於標籤的方法。在我的應用程序中,如果用戶單擊「註冊播放器」,則整個PlayerRegistration xaml文件將被加載到窗口的一段中。當用戶點擊任何其他按鈕時也會發生同樣的情況。

我想有一種方法可以想象它會是一個使用框架的網站。

注意:如果您認爲我的目標不太合適,並且有更好的方式來佈置我的應用程序,我很樂意聽到一些建議。

+0

可靠的事情@Nraf,檢查這個答案。 http://stackoverflow.com/questions/224765/splitting-wpf-interface-across-multiple-xaml-files/224816#224816。我要投票結束重複,這個答案應該可以幫助你。 – Marko 2010-10-11 07:27:00

+0

這不是真的回答我的問題。我的問題圍繞着創建一個選項卡式用戶界面展開,而不是將多個xaml文件中的不同窗口元素分開。 – NRaf 2010-10-11 09:09:40

回答

4

您是否聽說過MVVM模式?看看this article by Josh Smith,他使用的例子與你想要的東西類似。

如果您只希望一次顯示一個視圖,則可以使用ContentControl而不是TabControl,並將其內容綁定到主視圖模型中的Current屬性。

+0

看起來很有希望。似乎它是有用的。謝謝。 – NRaf 2010-10-11 10:40:56

1

您可以看看複合應用程序開發,單聲道插件(可將其用於插件體系結構)與shell結合使用。

相關問題