DotNetBar for WPF是一个用于创建专业WPF应用并拥有超过38个原生WPF控件的工具箱,其中包含了新的日程安排控件、Wpf-Ribbon控件、具有Office样式的Ribbon控件和Wpf-Dock控件以及具有OfficeOutlook样式的Navigation Pane控件等。对于日期输入,DotNetBar for WPF还提供了Date/Time Picker、Numeric Input、Month-calendar以及TabNavigation等控件。
接上文
对GroupBar中的元素进行分组
GroupBar是一个容器,允许您对其他元素进行分组。
GroupBar实现功能区的元素溢出。溢出是将元素从主显示屏中移除并放置在溢出面板中的位置,因为功能区的宽度不足以容纳它们。溢出面板本身包含在弹出窗口中,当用户单击组栏的溢出按钮时,该弹出窗口将打开。如果元素要参与溢出,则它们必须位于GroupBar中。
当组栏上有溢出项时,溢出按钮会显示在未溢出元素的右侧,并且会显示一个字形,指示可以按下该按钮。将组栏中的所有元素都移入溢出后,溢出按钮将显示由组栏的ImageSource属性指定的图像(如果有的话)。
可以通过组栏的PopupTitle属性设置溢出项的标题。
与RibbonItem一样,GroupBar从技术上讲可以包含任何类型的UIElement,但是最好使用专为功能区设计的控件,如上一节中所列。不能放置到组栏中的唯一控件是GalleryBar。像往常一样,在Xaml中,将元素添加为组栏的直接子元素,在同一件事后面的代码中,通过将元素添加到Items集合来完成,并且对于数据绑定方案,将数据对象的集合绑定到ItemsSource属性。
调整父窗口的大小,减小宽度时,并非所选功能区的所有元素都适合可用空间,元素将移入溢出状态。
设置溢出顺序
元素放入组栏溢出面板的顺序由附加的依赖项属性RibbonItem.OverflowIndex确定。此属性是在RibbonItem上定义的,因为尽管溢出是由GroupBar管理的,但是相对于包含的功能区项目定义了序列。该序列从0开始,并且对于每个连续的“跳跃”递增1,并且序列中不能有任何间隙。换句话说,要放入溢出的第一个元素是OverflowIndex为0,其后为index 1的元素,依此类推。允许具有相同索引的多个元素。请注意,序列是在功能区项目中的所有组栏中定义的。例如,假设功能区项目中有两个组栏,即组栏A和组栏B。
为方便起见,所有专门为功能区定义的控件,允许它们成为GroupBar的子控件,尽管它们都映射回了RibbonItem.OverflowIndex附加属性,但它们都有自己的OverflowIndex属性。
看下面的例子。前两个RibbonRadioButton控件将始终位于顶层(它们不会溢出),因为它们不在GroupBar中。要隐藏在溢出中的第一个项目是Show / Hide GroupBar中的最后一个RibbonCheckBox,其OverflowIndex =0。其余的将根据上升的溢出索引进行。两个OverflowIndex为3的RibbonButtons将同时移入溢出状态。请注意,Zoom GroupBar内的第一个RibbonButton没有OverflowIndex的值,表明它将永远不会被放置到溢出中。虽然同一组栏中的最后一个元素的溢出索引为–1,但始终会处于溢出状态。
<mobile:RibbonItem Header="View"> <mobile:RibbonRadioButton Content="Edit" IsChecked="True" ImageSource="Images/EditModeIcon.png" /> <