WPF学习总结和记录(五)-Menu

WPF 内建了两种菜单——Menu 和ContextMenu(上下文菜单)。

1. Menu

Menu 的项可以是任何东西,但是你应该使用MenuItem 以及Separator 对象。

 

 


       
           
           
           
           
               
               
           

       

       
       

       
       

   

 

MenuItem 是带头的Items 控件(继承自HeaderedItemControl),这个和带头的内容控件非常像。对于MenuItem,它的头实际上是主对象(通常是文字,如图4-18 所示)。如果Items 是子元素的话就会被作为子菜单显示。和按钮、标签控件一样,MenuItem 使用下划线前缀来支持访问键(access key)。
Separator(分隔线)是一种简单控件,当被放在MenuItem 里时,它会被 那样以水平线渲染。

 

·Icon——允许把任意类型的对象添加到Header 旁边。Icon 对象会像Header 一样被渲染,尽管它通常是一幅小图片。
·IsCheckable——让MenuItem 的行为像一个CheckBox 控件。
·InputGestureText——用一个相关的手势(gesture)来标识一个项(最常见的就是键盘快捷方式,比如Ctrl+O)。

 

2.ContextMenu

它是一种保存MenuItem 和Separator 的简单容器。但不能直接把ContextMenu 嵌入到一个元素树中,必须通过一个适当的属性把它加载到控件上,比如使用由
FrameworkElement 和FrameworkContentElement 定义的ContextMenu 属性。当用户在控件上右击(或者按下Shift+F10)时,上下文菜单就被显示出来。

 

  
       
           
               
                   
                   
                   
                   
                       
                       
                   

               

           

       

   

 

3. TreeView

TreeView 是一种常用控件,它会用可展开和折叠的节点来分层显示数据。

TreeView 和Menu 一样,也是一种简单控件。它可以包含任何项,并把这些项垂直排列。但是如果不用TreeViewItem 来填充它的话,TreeView 就没意义

   
       
           
           

           
           

           
               
               
           

           
           

       

   

TreeViewItem 有两个方便的属性IsExpanded 和IsSelected,还有4 个事件,分别对应于这两个属性的4种状态:Expanded、Collapsed、Selected 和Unselected。TreeViewItem 同样支持富键盘导航,加号和减号键可以展开或折叠一个项,箭头方向键、Page Up、Page Down、Home 和End 键可以从一个项向另一个项移动焦点。

 

4. ToolBar

Separator 也被渲染为垂直线而不是水平线。由于ToolBar 重载了项的默认样式,所以当它们被放在一个ToolBar 中时会自动变成大部分人所期望看到的样子。

   
           
           
            2
           
       

 

5. StatusBar

StatusBar 的行为就像Menu,它只是水平排列放它的项

StatusBar 为Separator 提供了一个控件模板,Separator 是作为垂直线被渲染的,就像它显示在ToolBar 中一样。StatusBar 中的项(除了Separator)是被隐式地包装在一个StatusBarItem 中,但是你依然能显式地进行包装。


           
           
           
           
                100%
                85%
           

       

 

你可能感兴趣的:(WPF)