掌握WPF控件:熟练ToolBar常用属性(十四)
ToolBar
- 一组通常在功能上相关的命令或控件的容器。用于在应用程序中创建工具栏,工具栏通常包含一组按钮、菜单或其他命令项,方便用户快速访问和执行常见的操作。ToolBar可以根据需要灵活地排列其内容,支持水平或垂直布局。也可以和ToolBarTray 控件一起使用实现工具栏分组。
常用属性 | 描述 |
---|---|
Orientation | 用于指定ToolBar中项目的排列方向。 |
IsOverflowOpen | 用于获取或设置一个值,该值指示 ToolBar 溢出区域当前是否可见。当工具栏空间不足时,超出部分的工具会被移到溢出区域,并出现一个下拉箭头。 |
Band | 用于获取或设置一个值,该值指示工具栏应位于 ToolBarTray 中的什么位置。 |
BandIndex | 用于获取或设置指示工具栏在带区上的位置的带区索引号。 |
ButtonStyleKey | 用于将 Style 应用于工具栏上的按钮。一个资源键,它表示工具栏上的按钮的默认样式。 |
CheckBoxStyleKey | 用于获取应用于工具栏上的复选框的样式。一个资源键,表示工具栏上复选框的默认样式。 |
ComboBoxStyleKey | 用于获取应用于工具栏上的组合框的样式。一个资源键,表示工具栏上组合框的默认样式。 |
HasOverflowItems | 用于获取一个值,该值指示工具栏是否包含不可见的项。不可见为true,默认为false。 |
MenuStyleKey | 用于获取应用于工具栏上的菜单的样式。一个资源键,表示工具栏上菜单的默认样式。 |
RadioButtonStyleKey | 用于获取应用于工具栏上的单选按钮的样式。一个资源键,表示工具栏上单选按钮的默认样式。 |
SeparatorStyleKey | 用于获取应用于工具栏上的分隔符的样式。一个资源键,表示工具栏上分隔符的默认样式。 |
TextBoxStyleKey | 用于获取应用于工具栏上的文本框的样式。一个资源键,表示工具栏上文本框的默认样式。 |
ToggleButtonStyleKey | 用于获取应用于 ToolBar 上的 ToggleButton 控件的 Style。一个资源键,表示工具栏上切换按钮的默认样式。 |
下面来写个例子
<Window.Resources>
<!--定义ToolBar相关资源键来改变对应控件的样式-->
<Style x:Key="{x:Static ToolBar.ButtonStyleKey}" TargetType="{x:Type Button}">
<Setter Property="Background" Value="Blue"></Setter>
<Setter Property="Foreground" Value="White"></Setter>
</Style>
<Style x:Key="{x:Static ToolBar.CheckBoxStyleKey}" TargetType="{x:Type CheckBox}">
<Setter Property="Background" Value="Red"></Setter>
<Setter Property="Foreground" Value="White"></Setter>
</Style>
</Window.Resources>
<StackPanel>
<ToolBarTray Orientation="Horizontal">
<!-- 如果有超出项,HasOverflowItems将自动变为true -->
<ToolBar Background="LightBlue" IsOverflowOpen="True" Band="1" BandIndex="1">
<Button Content="我是Button选项" />
<CheckBox Content="我是CheckBox选项" />
<ComboBox ItemsSource="{Binding ComboBoxItems}" SelectedIndex="0"/>
<Menu>
<MenuItem Header="我是Menu选项" >
<MenuItem Header="我是子菜单Menu1" />
<MenuItem Header="我是子菜单Menu2" />
</MenuItem>
</Menu>
<RadioButton Content="我是RadioButton选项" />
<Separator />
<TextBox Text="我是TextBox" />
<ToggleButton Content="我是ToggleButton选项" />
</ToolBar>
</ToolBarTray>
</StackPanel>
using System.Windows;
namespace WpfCommonControls
{
/// <summary>
/// ToolBar.xaml 的交互逻辑
/// </summary>
public partial class ToolBar : Window
{
public List<string> ComboBoxItems { get; set; }
public ToolBar()
{
InitializeComponent();
ComboBoxItems = new List<string> { "我是ComboBox选项1", "我是ComboBox选项2", "我是ComboBox选项3" };
DataContext = this;
}
}
}
上述代码运行效果如下图:
公众号“点滴分享技术猿”