2010-08-03 69 views
1

我剛開始與wpf(在混合4),我想創建一個應用程序,具有更改內容的側面菜單。我正在尋找的東西就像文件菜單下的2010字。如果您單擊左側的菜單,則右側的內容會相應更改。我已經閱讀了有關將一個page.xaml嵌套到框架中的文章,並將框架導航源更改爲每個頁面。這是正確的嗎?當我這樣做時,導航欄出現在頂部。我可以擺脫那麼簡單,但似乎我正在走錯我想達到的道路。獨立WPF應用程序的導航菜單

在此先感謝。

+0

您可以通過在頁面的XAML中執行ShowsNavigationUI =「False」來擺脫導航欄。不過,我確實相信你採用了錯誤的項目類型 - 如果你正在使用頁面,那麼你在WPF _browser_應用程序中。通常,我將獨立與Windows應用程序(WPF應用程序項目類型)相關聯。 – Goblin 2010-08-03 18:54:15

+0

我正在使用wpf應用程序。我以vb形式完成它的方式是隱藏/顯示錶單。因此,要將報告中的「頁面」更改爲概覽,我只需隱藏報告控件並顯示概覽控件。現在我試圖做一個按鈕更改主窗口的一部分的同樣的事情。 – Bbbh 2010-08-03 20:21:36

回答

2

就此而言,TabControlFrame爲基礎的解決方案都有點像頻譜的極端。選項卡控件會在選項卡狀態和顯示的UI之間產生非常緊密的耦合(例如,您可能很難切換到沒有明確標籤項的對話框),而該框架可以實現相對鬆散的耦合,但可能會這個場景的矯枉過正,因爲它旨在支持具有歷史/頁面堆棧的全面線性導航。 (例如,棱鏡通過其「區域」概念提供了類似的機制。)

中間地帶可能是一個帶有佔位符元素的主「窗口框架」UI,並且您的個人「頁面」來自UserControl,使他們成爲常規的UI元素。要切換到UI中的特定頁面,可以實例化(通過代碼或XAML資源)相應的用戶控件,並將其設置爲上述佔位符元素的Content屬性。 (這與VB中提到的基本相同,可以隱藏/顯示子窗體。)

因此,根據場景的實際約束,有多種選擇可供選擇。

0

最簡單的代碼是使用TabStripPlacement="Left"創建TabControl。例如:

 <TabControl TabStripPlacement="Left"> 
      <TabItem Header="Tab1" /> 
      <TabItem Header="Tab2" /> 
      <TabItem Header="Tab3" /> 
     </TabControl> 

您可以申請Styles進一步轉變UI,顏色看看&的感覺。