摘要
XAML中有很多好用的布局控件,比如Canvas,它可以根据坐标来控制子控件的位置,让我们可以轻松地定位控件的位置。只需要设置Canvas.X和Canvas.Y属性,就可以让控件出现在我们想要的位置。让我们一起来尝试一下吧!
正文
XAML常见控制2
这节再次讲一些xaml中的常见控制。
合理布局控制
除开大家以前讲过的Grid,StackPanel,Border合理布局控制,xaml中也有以下好多个合理布局控制:
Canvas:应用这一合理布局,能够 根据座标来操纵子控制的表明。当把控制放进Canvas中,这一控制会被额外上Canvas.X和Canvas.Y特性,我们可以依据这两个特性,来特定控制的座标,企业是清晰度。wpf和WinForm中XY轴的界定是一样的,都是以程序流程的左上方做为起点,起点到右上方这一条线是X轴,起点到左下方这一条线是Y轴。
DockPanel:应用这一合理布局,控制会全自动靠在DockPanel的某一条边,根据其额外在控制上的DockPanel.Dock这一特性来特定停靠那一条边,这一特性是个枚举值:Top,Left,Right,Bottom。DockPanel它本身有一个十分关键的bool值特性:LastChildFill,当这一特性为True时,最后一个加上在该合理布局控制中的控制会全自动铺满剩下室内空间,即便 为其赋了DockPanel.Dock值,也会被忽视,该特性默认设置便是True,假如开发设计时有独特要求自主更改成False就可以。
WarpPanel:这一合理布局跟StackPanel很相似,它是流式布局,一样是应用Orientation特性来操纵子控制的排序,可是比StackPanel更强劲的作用是当控制不可以在一行或是一列排除时,它会自另起一行或一列,
目录项控制
Menu:这一控制专用型于菜单栏的表明,应用其特性ItemsSource关联后台管理一个结合或二维数组,或是应用MenuItem以硬编码的方式来添充一个个菜单栏,MenuItem的Header特性用于操纵菜单栏的表明文本,该控制除开有click那样的一般事情外,也有用以回应选定的Checked和Unchecked事情,及其操纵选定事情是不是实行的IsCheckable的特性(该特性默认设置为False),请看下面一段编码:
<Menu > <MenuItem Header="菜单栏1" IsCheckable="True" Checked="MenuItem_Checked" Unchecked="MenuItem_Unchecked"/> <MenuItem Header="菜单栏2" /> <MenuItem Header="菜单栏3" /> <MenuItem Header="菜单栏4" /> <MenuItem Header="菜单栏5" /> </Menu>
相匹配后台管理C#事情CPU编码为:
private void MenuItem_Checked(object sender, RoutedEventArgs e) { MessageBox.Show("莱单1被选定了"); } private void MenuItem_Unchecked(object sender, RoutedEventArgs e) { MessageBox.Show("莱单1撤销选定"); }
程序执行时,当我们点击菜单项1时会弹出来MessageBox框提醒“莱单1被选定了”,撤销选定的时候会提醒“莱单1撤销选定”,实际效果以下:
ListBox:这一控制是个应用頻率很高的控制,用以表明后台管理一个二维数组或是结合数据信息,一样的也是应用其特性ItemsSource与后台管理开展数据信息关联,或是应用ListboxItem以硬编码的方式添充数据信息,可以看编码:
<ListBox> <ListBoxItem>目录项1</ListBoxItem> <ListBoxItem>目录项2</ListBoxItem> <ListBoxItem>目录项3</ListBoxItem> <ListBoxItem>目录项4</ListBoxItem> <ListBoxItem>目录项5</ListBoxItem> </ListBox>
并且,ListBoxItem能够 容下控制,例如Button,CheckBox,都能够往里添充:
<ListBox> <ListBoxItem> <Button Content="我是按键"/> </ListBoxItem> <ListBoxItem> <CheckBox IsChecked="True"/> </ListBoxItem> </ListBox>
在这类状况下,ListBoxItem标识就可以省去了,系统软件会全自动开展封裝:
<ListBox> <Button Content="我是按键"/> <CheckBox IsChecked="True"/> </ListBox>
DataGrid控制
这一控制便是一个报表,跟数据库查询中的表是相近的,而且它的岗位职责便是用于表明数据库查询中的数据信息,下边首先看个案例编码:
<DataGrid ItemsSource="后台数据源"> <DataGrid.Columns> <DataGridTextColumn Header="我是文字"/> <DataGrIDCheckBoxColumn Header="我是选择框"/> <DataGridComboBoxColumn Header="我是下拉列表"/> <DataGridHyperlinkColumn Header="我是网页链接"/> <DataGridTemplateColumn Header="我是自定列" Width="1*"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <Button Content=""/> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid>
该控制一样是应用ItemsSource来关联数据信息,大家应用该控制时要先根据DataGrid.Columns来界定列的总数及种类,微软公司早已为大家界定了以上编码中所显示的文字,选择框,下拉列表,网页链接四个常见列种类,依据业务流程要求,大家还可以根据DataGridTemplateColumn来源于界定列模版。
针对该控制的应用,中后期会详尽根据编码反映,如果有一切控制应用上的难题,您尽能够 来致电。
关注不迷路
扫码下方二维码,关注宇凡盒子公众号,免费获取最新技术内幕!
评论0