C# wpf界面设计基本知识

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cbacq/article/details/9831147

菜单的生成

<Grid>

<Menu Height="23" Name="menu1" Width="200" HorizontalAlignment ="Left" >

                <MenuItem Header =" 文件"> //一级菜单

                    <MenuItem Header =" 打开"> //二级菜单

                        <MenuItem Header =" cpp">//三级菜单

 

                        </MenuItem>

                    </MenuItem>

                    <MenuItem Header =" 退出">

 

                    </MenuItem>

 

                </MenuItem>

                <MenuItem Header =" 编辑">//一级菜单

                    <MenuItem Header =" 复制">//二级菜单

 

                    </MenuItem>

                </MenuItem>

            </Menu>

</Grid>

 

另外一层

<Grid>

                <Button>

                   

                </Button>

            </Grid>

 

显示一般都在DockPanel里面操作

<DockPanel>

            <Menu DockPanel.Dock ="Top">

            </Menu>

            <TextBox DockPanel.Dock =" Bottom">

               

            </TextBox>

        </DockPanel>

 

工具栏

<ToolBar DockPanel.Dock =" Top">

                <Button Content =" 保存">

                   

                </Button>

                <Button Content =" 保存新建">

 

                            //工具栏使用图标

                <Button>

                            <Button.Height >//属性值赋值

                23

                </Button.Height>

 

                    <Button.Content>

                        <Image Source ="Images/01.bmp">

 

                        </Image>

                    </Button.Content>

                </Button>

                <TextBox>

                   

                </TextBox>

            </ToolBar>

 

 

title 标题

 

resizemode  窗口大小

windowstartLocation = 窗口开始位置

windowstate 窗口默认大小

Margin 控件距离四周的值

bool? dialogresult //如果窗口是用showDialog打开的,则给dialogresult会自动关闭窗口,并把dialogresult属性的值通过showDialog的返回值返回。

 

 

通配符???

using sysyten.win32;

OpenFileDialog ofg;

ofg.ShowDialog()

ofg.filename 文件名

ofg.initialdirectory 设置文件初始目录

ofg.Filter = "文本文件|*.txt|图片|*.jpg;*.bmp"//同时显示多个格式使用;

 

 

 

saveFiledialog sfg;

string picfilename = sfg.filename;

获取图片地址

image1.Source = new BitmapImage(new Uri(picfilename))//image1为另外一个显示控件的名称

 

 

focus()获取焦点

 

 

继承

class Animal

{

}

 

class Dog:Amnimal

{

 

}

 

Dog dog = new Dog(); //dog为一个对象

Animal al = dog;//al为一个变量

可以将一个子类的对象赋值给一个父类的变量。变量时一个标签,对象是一个实际存在的东西。

 

Animal al= new Dog()

 

click事件

sender 都是object类型

Btton btn  = (Btton)sender;

 

 

数组 int[] nums = new int[3];

遍历数组 foreach(int i in nums)

                {

                    

                     }

集合类 泛型<int>

List<int> list = new List<int>();

list.Add();//添加数据

 

 

//和数据绑定有关??

list<Dog> list = new List<Dog>();

list.Add(new Dog());

 

控件的可见属性。txt为控件名

txt.Visibility = System.Windows.Visibility.Collapsed;

 

 

Isenable //控件是否可用

Background //背景色 ctrl+j

 

 

textBox 的TextWrapping = "Wrap";换行属性

maxlength  用户输入的长度不超过n个字符

 

passwordBox 密码控件

 

c#中含有可null和不可null的类型

在不可null类型后面加?就可以为null               

 

 

RadioButton 单选按钮

GroupName  组名

 

 

Datapicker 日期控件

DateTime? value = datapicker.selectedDate;

 

Datetime.Today //当前日期

DataTime.now//当前时间

 

Image 图片控件

 

ProgressBar 进度条

value 当前值

Isindaterminate 不确定模式

 

 

布局

grid布局

 

<grid>

 

<grid.columnDefinition>

<columnDefinition></ColumnDefinition>//要几列写几条

</grid.columnDefinition>

 

<grid.rowDefinitions>

<rowDefinition></rowDefinition>//要几行写几条

</grid.rowDefinitions>

 

<button grid.row = "1" grid.column ="1"></button>//要修改控件的显示位置,使用grid修改行和列,行数和列数是使用grid.columnSpan = "2",grid .rowSpan = "2"

//grid 属于附加的属性,不是行列包含的属性

</grid>

 

horizontalAlignment 横向位置

VerticalAlignment 纵向位置

 

 

 

stackpanel布局

orientation 排布方式 纵向排列 横向排列

从上往下布局

 

<button.content>

//这里只能添加一个属性值,要添加多个要用StackPanel将多个属性值打包起来

<stackPanel>

添加多条东西

例如 添加图片。。

<Image source = "地址"></Image>

</stackpanel>

</ button.content >

 

 

动态添加控件

一般在load时载入

Button btn = new Button();

btn.content = "xxx";

 

grid.setrow(btn,i);//修改btn的行

 

容器名。children.add(btn);

//动态添加行

columnDefinition coldef = new columnDefinition();

容器名.columnDefinitions.Add(coldef)

 

//随机数生成类

Random random =new random();

random.Next(min,max);x>=min  x<max

 

 

 

 

 

 

布局的嵌套

 

<grid>

<grid.columnDefinition>

<columnDefinition></ColumnDefinition>//要几列写几条

</grid.columnDefinition>

 

<grid.rowDefinitions>

<rowDefinition></rowDefinition>//要几行写几条

</grid.rowDefinitions>

                                                                                嵌套布局

                                                                                <stankpanel>

                                                                                </stankpanel>

                                                                                <grid>

                                                                                </grid>

</grid>

 

展开阅读全文

没有更多推荐了,返回首页