黑马程序员_WPF(WPF常用的控件使用,可空与不可空,页面布局)

来源:互联网 发布:java 读取远程url文件 编辑:程序博客网 时间:2024/04/27 19:37

一.WPF常用的控件使用

1.TextBox

TextBlockTextBox的区别:

TextBlock这个控件是只读文本,只能看到,不能对其进行复制文本信息;

TextBox这个空间通过IsReadOnly=”True”也可以成为只读文本框,但是,信息文本可以复制出来

TextBox如何设置为多行文本框:TextWrapping=”Wrap”;

TextBox如何设置文本框中的字长:MaxLength=”5”;这是设置文本框内的字长,与文本框设置的Text的字长不冲突;

2.PasswordBox

属性password,作用如同textbox中的text属性,可以用来设置初始密码

3.CheckBox

CheckBox.checked==true;//CheckBox.checked是一个bool类型的,true是一个bool类型的,这里编译器会自动进行类型转换

4.RadioButton

组名:GroupName=”爱好”//同一组的取相同的名字就可以了

5.Image

Image Source="images/20110205116.jpg" //source图片的路径

6.ProgressBar(进度条)

确定进度条:ProgressBar Maximum="100" Minimum="0" Value="60" //最大值,最小值,当前值

不确定进度条:ProgressBar IsIndeterminate="True"

二.可空与不可空

//可空(null)数据类型:引用类型;自定义类,string,大部分的类都是

//不可空:值类型;int ,boolean,decimal,datetime

String s = "";//定义一个字符串,空字符串,但并不是为空;

String str = null;//定义一个字符串,为空;这两个是不同的概念

MessageBox.Show(s.Length.ToString());//空字符串有长度,长度为0

MessageBox.Show(str.Length.ToString());//字符串为空,没有长度,报错

/字符串可以为Null,类也可以为Null  Dog d1=null//null表示没有指向对象

//数据库中支持Intdatetime等数据类型可以为空,.Framework为了配合,就有了这个?可空

//int i = null;//值类型不可以为null

//但是在int后面加?就可以对的

int?i1 = null;

//C#程序分为编译问题和执行问题;编译没问题,不代表执行没问题

三.页面布局

1.页面布局:指的是自控件的大小,位置的控制,最简单的页面布局就是根据坐标,尺寸进行布局。缺点是当页面发生尺寸变化等情况的时候,页面可能会乱;

2.基本布局:有StackPanel,Grid,DockPanel几种基本布局容器,放在布局容器中的控件按照布局容器的特点进行布局。

3.StackPanel布局,默认(Orientation=”Vertical”)将小弟从上往下进行布局

也可以进行水平布局(Orientation=”Horizontal”)

4.Button内部布局

ButtonContent不能又放图片,又放文本框,只能放一个控件,当然我放StackPanel,分成小房间,这样就可以实现,文本框的VerticalAlignment=”Center”文本列向居中

HorizontalAlignment=”Center”文本横向居中

 <Grid>

        <Button>

            <Button.Content>

                <StackPanel Orientation="Horizontal">

                    <Image Width="100" Source="20110205116.jpg"></Image>

                    <TextBlock Text="123" VerticalAlignment="Center"></TextBlock>

                </StackPanel>

            </Button.Content>

        </Button>

    </Grid>

XMAL中的注释<!--******-->

5.Grid布局(表格布局)

   1.位置的变换

    <Grid>

        <Grid.RowDefinitions>

            <RowDefinition></RowDefinition>

            <RowDefinition></RowDefinition>

            <RowDefinition></RowDefinition>

            <RowDefinition></RowDefinition>

        </Grid.RowDefinitions>

        <Grid.ColumnDefinitions>

            <ColumnDefinition></ColumnDefinition>

            <ColumnDefinition></ColumnDefinition>

            <ColumnDefinition></ColumnDefinition>

        </Grid.ColumnDefinitions>

        <Button Grid.Row="1" Grid.Column="1"></Button>

        <TextBlock Grid.Row="0" Grid.Column="0" Grid.RowSpan="2"></TextBlock>

        <Image Grid.Row="2" Source="20110205116.jpg" Grid.ColumnSpan="2"></Image>

</Grid>

2.使用Grid实现简单的登陆布局

 <Grid>

        <Grid>

            <Grid.RowDefinitions>

                <RowDefinition></RowDefinition>

                <RowDefinition></RowDefinition>

                <RowDefinition></RowDefinition>

            </Grid.RowDefinitions>

            <Grid.ColumnDefinitions>

                <ColumnDefinition></ColumnDefinition>

                <ColumnDefinition></ColumnDefinition>

            </Grid.ColumnDefinitions>

            <TextBlock Text="用户名" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>

            <TextBlock Text="密码" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>

            <TextBox Grid.Column="1" Margin="15"></TextBox>

            <PasswordBox Grid.Row="1" Grid.Column="1" Margin="15"></PasswordBox>

            <Button Content="登陆" Grid.Row="2" Margin="20"></Button>

            <Button Content="取消" Grid.Column="1" Grid.Row="2" Margin="20" ></Button>

        </Grid>

</Grid>

0 0
原创粉丝点击