2011-10-28 25 views
9

xamlがhttp://www.wpftutorial.net/のようなVisual Studio(wpf形式)のウィンドウの左側に垂直メニューを作成するにはどうすればいいですか?私はコードを試します:Wpfでverticalメニューを作成

<Menu DockPanel.Dock="Left" VerticalAlignment="Top" Background="Gray" BorderBrush="Black"> 

しかし、それは上に水平メニューを提示するので、タスクはありません。

コントロールメニューで必ずしも実行する必要はありません。同様の外観を持つ他のコントロールが適切であれば、それは許容される。

+0

あなたは 'Menu'周り' DockPanel'を持っていますか? – Jon

+0

はい、そうです、そうでなければ動作しません。 – arjacsoh

+0

受け入れられた回答を使用して、自分で作成するか、使用可能なhttps://github.com/beto-rodriguez/MaterialMenuを作成することができます。 –

答えて

42

だけではなく、水平方向の1

<Menu> 
    <Menu.ItemsPanel> 
     <ItemsPanelTemplate> 
      <VirtualizingStackPanel Orientation="Vertical"/> 
     </ItemsPanelTemplate> 
    </Menu.ItemsPanel> 

</Menu> 
+1

@arjacsohメニューがDockPanelに追加される最後の項目である場合、デフォルトでは残りのすべてのスペースを埋めるように伸びます。 DockPanelで 'LastChildFill =" False "を設定するか、メニューの後に別の要素を追加してください。以下は、さまざまなWPFレイアウトのアイデアを得るための良いリンクです。http://www.codeproject.com/KB/WPF/WPFLayoutQS.aspx – Rachel

1

受け入れanwerは良好であるデフォルトの垂直方向のStackPanelを使用するようにMenuItem.ItemsPanelを変更、確かに。しかし、良いサイドバーを稼働させるには長い道のりです。必要なものが作業中のメニューであれば、このコントロールを使用することができます。

https://github.com/beto-rodriguez/MaterialMenu

あなたもnugetからそれをインストールすることができます。ここ

は一例であり

<materialMenu:SideMenu HorizontalAlignment="Left" x:Name="Menu" 
          MenuWidth="300" 
          Theme="Default" 
          State="Hidden"> 
     <materialMenu:SideMenu.Menu> 
      <ScrollViewer VerticalScrollBarVisibility="Hidden"> 
       <StackPanel Orientation="Vertical"> 
        <Border Background="#337AB5"> 
         <Grid Margin="10"> 
          <TextBox Height="150" BorderThickness="0" Background="Transparent" 
           VerticalContentAlignment="Bottom" FontFamily="Calibri" FontSize="18" 
           Foreground="WhiteSmoke" FontWeight="Bold">Welcome</TextBox> 
         </Grid> 
        </Border> 
        <materialMenu:MenuButton Text="Administration"></materialMenu:MenuButton> 
        <materialMenu:MenuButton Text="Packing"></materialMenu:MenuButton> 
        <materialMenu:MenuButton Text="Logistics"></materialMenu:MenuButton> 
       </StackPanel> 
      </ScrollViewer> 
     </materialMenu:SideMenu.Menu> 
    </materialMenu:SideMenu> 

enter image description here

+2

これは素晴らしいプロジェクトですが、「今作業する」とはストレッチ(私はそれを試してみました)、それはOPが尋ねたことはしません、受け入れられた答えはしません。 OPはサイドバーではなくメニューを求めました。 –

関連する問題