2013-11-22 44 views
3

我正在尋找一個類似於圖片中的控件。WPF - Windows Azure風格TabControl(?)

我相信這是某種tabcontrol?或者只是撥動按鈕& stackpanels?

是否有人知道是否有人做出了這個和/或這種類型的控件被調用。 (我知道我能建造這種使用的ToggleButtons和stackpanels的切換可見性) 我只是想知道這是否是一個預製控制(無論是從MS,還是別人?) 非常感謝你

enter image description here

+1

據我所知,恐怕沒有預製控制,你可以把它稱爲** nav expander **(來自html源代碼),並且我認爲它不是你自己的簡單impl –

+0

我在想同樣,很容易與stackpanels和togglebuttons實現:) - 也許虐待創建所有使用的控制:) - 時間將告訴 – VisualBean

+1

嗨,沒有任何可用的解決方案,我繼續並實現了上述的Azure管理門戶導航風格在WPF中使用ListBoxes。 你可以在這裏查看樣式的最終結果 - > http://arbitrarybytes.blogspot.in/2014/05/azure-portal-navigation-style-in-wpf.html 由於議題關閉我無法直接在這裏粘貼樣式。但是xaml文件在這裏可用 - > http://goo.gl/LB5IT8 希望這有助於您隨時對博客文章發表任何評論和建議。 – Vaibhav

回答

3

當然,圖像中的控件只是一個Menu控件,該控件具有自定義ControlTemplate。我們可以給Menu控件一個新的ItemsPanelTemplate使其垂直工作,而不是通常的水平外觀。不幸的是我沒有時間來完成這一點,但我已經開始你了:

<Menu FontFamily="Segoe UI" Background="#FF3C454F" TextElement.Foreground="White"> 
    <Menu.ItemsPanel> 
     <ItemsPanelTemplate> 
      <StackPanel Orientation="Vertical"/> 
     </ItemsPanelTemplate> 
    </Menu.ItemsPanel> 
    <Menu.Resources> 
     <Style TargetType="MenuItem"> 
      <Setter Property="Padding" Value="40, 20" /> 
     </Style> 
    </Menu.Resources> 
    <MenuItem Header="COMPUTER"> 
     <MenuItem Header="WEBSITE" /> 
     <MenuItem Header="VIRTUAL MACHINE" /> 
     <MenuItem Header="MOBILE SERVICE" /> 
    </MenuItem> 
    <MenuItem Header="DATA SERVICES"> 
     <MenuItem Header="WEBSITE" /> 
     <MenuItem Header="VIRTUAL MACHINE" /> 
     <MenuItem Header="MOBILE SERVICE" /> 
    </MenuItem> 
    <MenuItem Header="NETWORK SERVICES"> 
     <MenuItem Header="WEBSITE" /> 
     <MenuItem Header="VIRTUAL MACHINE" /> 
     <MenuItem Header="MOBILE SERVICE" /> 
    </MenuItem> 
</Menu> 

目前仍然很多爲你做雖然......最重要的部分將是定義一個新的ControlTemplateMenuMenuItem s。您需要將MenuItem的下一級別從當前的Popup控件移動到Grid中的下一列。

開始這項工作的最好方法是使用默認的ControlTemplate,然後按照自己喜歡的方式「調整」它,一旦你使它正常工作。您可以在MSDN上的Menu Styles and Templates頁面找到默認ControlTemplate。另一個資源可以在MenuItem ControlTemplate Example頁面找到,雖然它可能有相同的代碼,我不太確定。

我想要做的最後一點是,如果這個項目對您來說太難了,您可以使用多個ListBox控件使您的UI看起來像您的圖像,其中項目表示菜單項。根據用戶點擊的上一個菜單項來更改項目會非常容易。