WPF教程(三十二)使用Grid:一个联系人表格

来源:互联网 发布:数据有效性 文本长度 编辑:程序博客网 时间:2024/05/21 22:36

在前面几章,我们学习了很多理论知识,用到了很多理论上的例子。在这一章,将把我们在前面所学到的东西运用到一个实际的例子当中:一个简单的联系人表格。

这个联系人表格的好处是它只是普遍使用的一个对话框,你可以将用到的技术用到几乎任何你想要创建的对话框里。

第一个要测试的东西非常简单,是一个基本的联系人表格。总共使用三行,两行自动高度,最后一行使用*号高度,它占据剩余的可用空间。

<Window x:Class="WpfTutorialSamples.Panels.GridContactForm"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        Title="GridContactForm" Height="300" Width="300">    <Grid>                <Grid.RowDefinitions>                        <RowDefinition Height="Auto" />                        <RowDefinition Height="Auto" />                        <RowDefinition Height="*" />                </Grid.RowDefinitions>                          <TextBox>Name</TextBox>                <TextBox Grid.Row="1">E-mail</TextBox>                <TextBox Grid.Row="2" AcceptsReturn="True">Comment</TextBox>                    </Grid></Window>
A simple contact form using the Grid
如上所示,最后一个TextBox占据了剩余空间,前两个只占据它们所需要的空间。尝试拖拉窗口,你会发现comment文本框会跟随窗口改变。

上面这个简单的例子里,并没有指定每个文本框用来干什么。相反,文本框里显示了一些说明性的文字,这并不是一个Windows对话框该有的样子。我们尝试来改善外观和实用性:

<Window x:Class="WpfTutorialSamples.Panels.GridContactFormTake2"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        Title="GridContactFormTake2" Height="300" Width="300">        <Grid Margin="10">                <Grid.ColumnDefinitions>                        <ColumnDefinition Width="Auto" />                        <ColumnDefinition Width="*" />                </Grid.ColumnDefinitions>                <Grid.RowDefinitions>                        <RowDefinition Height="Auto" />                        <RowDefinition Height="Auto" />                        <RowDefinition Height="*" />                </Grid.RowDefinitions>                <Label>Name: </Label>                <TextBox Grid.Column="1" Margin="0,0,0,10" />                <Label Grid.Row="1">E-mail: </Label>                <TextBox Grid.Row="1" Grid.Column="1" Margin="0,0,0,10" />                <Label Grid.Row="2">Comment: </Label>                <TextBox Grid.Row="2" Grid.Column="1" AcceptsReturn="True" />        </Grid></Window>
A simple contact form using the Grid - take two

但是,说明字段有时候是很明显的,无需再加说明两个字。那么我们跳过标签,而使用ColumnSpan来得到更多的说明文本框空间:

<TextBox Grid.ColumnSpan="2" Grid.Row="2" AcceptsReturn="True" />
A simple contact form using the Grid - take three

以上展示了Grid面板强大的功能。希望你在设计对话框的时候能用上这里所学的全部技术。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 半月大的婴儿吃奶就漾奶怎么办 上司交给你不能完成的任务怎么办 电脑光驱里放入光碟放不出来怎么办 黑暗之魂3太难了怎么办 苹果手机下载的游戏闪退怎么办 宝宝两岁了不怎么爱拉大便怎么办? 小狗脖子发硬疼的直叫怎么办 厨房里有很多小虫子围着鸡蛋怎么办 狗生小狗后几天不吃饭怎么办 还没满月的小兔子突然死了怎么办 宝宝小鸡被蚊子咬后肿得很大怎么办 不知道是哪知兔子下的小兔怎么办 兔子生完小兔不吃东西了怎么办 人工喂养七天的小羊拉希怎么办 仔兔出生3天吃过奶就尿怎么办 小兔子买回来两天不拉屎怎么办 大狗生了小狗把小狗咬死了怎么办 狗妈妈一直咬小狗的脐带怎么办 狗狗体内驱虫驱不干净怎么办 打老鼠脚被老鼠咬了怎么办 天正画的cad打开显示空白怎么办 苹果手机信息被拉进群聊怎么办 空调的控制线的报验资料怎么办 窗窗户罩子护栏上的瓦楞板怎么办 酸洗好的带钢容易返锈怎么办 化肥撤到小树苗上现在变黑了怎么办 尿素液烧的太慢了怎么办 天堂鸟肥料施多了黄叶了怎么办 死水塘养的鱼每天在死怎么办 北京的阿姆斯肥把苗都烧死了怎么办 纱窗被老鼠咬了个洞 怎么办 低电量模式下动态墙纸不能用怎么办 吃的包装袋执行标准错了怎么办 退换东西的时候外包装坏了怎么办 闲鱼买家以与描述不符退货怎么办 闲鱼买家申请退款又签收了怎么办 店铺买的手机是拆开过的怎么办 卖家以包装破损拒收快递怎么办 车辆迁出落户信封被自己拆开怎么办 快递签收了发现物品坏了怎么办 快递签收后发现货坏了怎么办