【转】黑马程序员_WPF基础属性、控件和语法

1、WPF事件中的sender

——WPF中所有事件响应方法第一个参数都是sender,代表触发事件的控件对象,是object类型,需要类型转换使用。

——应用:多个按钮的Click共享一个事件处理方法

2、集合List<T>

——有时候不能预先确定长度或者需要动态修改内容和长度,这时候可以使用List<T>泛型集合。

——List<T>,可以看做是动态的数组。Add、Clear、Count、Remove、RemoveAt、ToArray(转换为数组)

——List<T>可以使用foreach遍历

3、控件通用属性:

——Visibility控件是否可见:枚举类型,Visible表示可见,Collapsed不可见。

——IsEnabled:控件是否可用,bool类型

——Background:背景色

——FontSize:字体大小

4、一些常用控件:

(1)Background:背景色 Foreground:前景色 FontSize:字体颜色 PasswordBox:密码框
  TextWrapping:是否自动换行,Wrap:自动换行 noWrap:不自动换行
  CheckBox:复选框 IsChecked:是否选中 MaxLength:设置最大字符数

(2)读取password框中的内容要用*.password

(3)int? i = null; //类型后+?表示是可空的数据类型。

(4)image控件:source属性为图片路径,相对路径

(5)ProgressBar:进度条。 几个属性:Maximum:最大值 minimum:最小值 value:指定值
  IsIndeterminate = true:不确定模式

(6)StackPanel 可扩展面板

(7)VerticalAlignment = “true” 使控件内容居中显示

(8)动态创建button
 Button btn = new Button();
 Grid.setRow(btn,i);
 Grid.setColumn(btn,j);
 mypanel.Children.Add(btn);

(9)动态创建图片

Image img = new Image();
img.Source = new BitmapSource(new Uri("Images/2.jpg",UriKind.Relative));
Grig.setRow(img,i);
Grid.setColumn(img,j);
mypanel.Children.Add(img);

(10)随机数
 Random rm = new Random();
 rm.Next(0,10); //括号内指定范围

(11)DockPanel:可以让空间始终保持靠上、下、左、右。 Menu:菜单栏
 示例: <Grid>
        <DockPanel>
            <Menu DockPanel.Dock="Top">
                <MenuItem Header="文件"></MenuItem>
                <MenuItem Header="编辑"></MenuItem>
            </Menu>
            <TextBox DockPanel.Dock="Bottom"></TextBox>
        </DockPanel>
    </Grid>
    //DockPanel有优先级,谁先声明,谁先占空间

5、WPF中一些常用的属性设置

(1)把窗体设置为不可修改大小,可以通过在xaml中tittle后面 加上 ResizeMode = “NoResize”;
   修改窗体的初始显示位置,加:WindowStartupLocation = "CenterScree";

(2)让窗口初始占满屏幕:加:WindowState = "Maximized"

6、WPF中的ShowDialog方法与Show方法

InputWindow inputwin=new InputWindow();

bool? b=inputwin.ShowDialog();

——如果窗口是用ShowDialog方法打开的,那么新窗口中对DialogResult赋值会自动关闭新窗口,并且把DialogResult的值通过ShowDialog方法的返回值返回。

——ShowDialog()的返回值类型是bool?,而Show()的返回值类型是void,如在新窗口中没有对DialogResult属性进行赋值,直接关闭窗口,那么返回值为false。

——DialogResult是Window类定义的一个属性,类型为bool?

而在WinForm中的DialogResult是一个类,是MessageBox.Show()的返回值类型,而WPF中MessageBox.Show()的返回值类型为MessageBoxResult

7、打开对话框的类:OpenFileDialog
   private void button1_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            if (ofd.ShowDialog() == true)
            {
                MessageBox.Show("打开了");
            }
            else
            {
                MessageBox.Show("打开失败");
            }
        }

时间: 2024-10-08 00:21:05

【转】黑马程序员_WPF基础属性、控件和语法的相关文章

黑马程序员——Java基础---IO(下)

黑马程序员——Java基础---IO(下) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供了File类.properties类.打印流.序列流等和输入输出相关的类,它们能够帮助我们更好的处理信息.下面将对它们进行简单的介绍. 一.正

黑马程序员_JAVA 基础加强学习笔记

一.面向对象 (一)继承  1.继承的好处: (1) 提高了代码的复用性. (2) 让类与类之间产生了关系,提供了另一个特征多态的前提. 注意: 子类中所有的构造函数都会默认访问父类中的空参数的构造函数,因为每一个子类构造内第一行都有默认的语句super();  如果父类中没有空参数的构造函数,那么子类的构造函数内,必须通过super语句指定要访问的父类中的构造函数. 如果子类构造函数中用this来指定调用子类自己的构造函数,那么被调用的构造函数也一样会访问父类中的构造函数. 2.final特点

黑马程序员_Java基础加强(下)

8.注解类 注解相当于一种标记,加了注解就等于打上了某种标记,没加就等于没打特殊标记,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记就去干什么事,标记可以加在包.类.字段.方法,方法的参数以及局部变量上. 注解的应用结构图: 为注解增加属性 定义基本类型的属性和应用属性 在注解类中增加String color(); @MyAnnotation(color = "red") 用反射方式获得注解对应的实例对象后,再通过该对象调用属性对应的方法 MyAnno

黑马程序员-正则表达式基础

正则表达式是一种描述字符串集的方法,它是以字符串集中各字符串的共有特征为依据的.正则表达式可以用于搜索.编辑或者是操作文本和数据.它超出了 Java 程序设计语言的标准语法,因此有必要去学习特定的语法来构建正则表达式.正则表达式的变化是复杂的,一旦你理解了它们是如何被构造的话,你就能解析或者构建任意的正则表达式了..正则表达式由一些普通字符和一些元字符组成. 普通字符包括大小写的字母和数字,而元字符则具有特殊的含义.在最简单的情况下,一个正则表达式看上去就是一个普通的查找串.例如,正则表达式"a

黑马程序员——java基础——反射

 黑马程序员--java基础--反射 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 反射 其实就是动态加载一个指定的类,并获取该类中的所有的内容.而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员. 反射就是把Java类中的各种成分映射成相应的java类. 简单说:反射技术可以对一个类进行解剖. 反射的基石-->Class类 1.java中的类是用来描述一类事物的共性,该类事物有什么属性,没有什么属性

黑马程序员——java基础——异常

黑马程序员--java基础--异常 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 异常 就是不正常.程序在运行时出现的不正常情况.其实就是程序中出现的问题.这个问题按照面向对象思想进行描述,并封装成了对象.因为问题的产生有产生的原因.有问题的名称.有问题的描述等多个属性信息存在.当出现多属性信息最方便的方式就是将这些信息进行封装.异常就是java按照面向对象的思想将问题进行对象封装. 异常体系 --------java.lang.Thro

黑马程序员_Java基础String类

- - - - - android培训.java培训.期待与您交流! - - - - - - - String是一个对象 String不属于8种基本数据类型(byte, char, short, int, float, long, double, boolean),String是对象,所以其默认值是null. String是一种特殊的对象,有其它对象没有的一些特性,通过JDK发现: public final class String implements java.io.Serializable

黑马程序员——Java基础---集合框架工具类

黑马程序员——Java基础<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java为操作Set.List和Map提供了一系列工具类,主要有Collections和Arrays.这两个工具类的特点:类中的方法都是静态的,不需要创建对象,直接使用类名调用即可.Collections:是集合对象

黑马程序员_Java基础加强(上)

1.静态导入 静态导入是jdk1.5版本以后出现的新特性,一般是指导入静态方法,如:import static java.lang.System.out 是指导入系统输出的静态方法. 例: import static java.lang.System.out //导入java.lang包下的System类的静态方法out public class StaticImport { public static void main(String[] args) { int x=1; x++; out.p