[wpf笔记] 1.xaml

快到年终了,断断续续学习wpf也三四个月了,感觉技术还是没有成长,昨天被鄙视技术,好好的反思了一下,决定从头再复习,要在意小的细节。

现在开始一边学,一边写。最后以一个项目结束,争取年前搞定。

本篇在意的是实现,概念的什么都不讲了。

1.学习前的注意

在xaml中,所有的标签都映射为.net类的实例。标签名对应类名,比如<Button> 就是创建一个Button对象。

   开始标签与结束标签的对应<Button></Button>

通过特性设置可以来设置每个类的属性<Button Width="200" Height="100"></Button>

  每个文档包含一个顶级标签<Window>,代表整个窗口。

2.xaml名称空间

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>

    </Grid>
</Window>

x:Class表示创建出一个实例类,在后台代码中后有一个与之对应的类存在。

xmlns用来声明命名空间

3.命名元素

  设置元素x:Name,可以在后台代码中进行访问

时间: 2024-08-08 05:22:02

[wpf笔记] 1.xaml的相关文章

WPF学习笔记2&mdash;&mdash;XAML之2

三.事件处理程序与代码隐藏 例如,为一个Page添加一个Button控件,并为该Button添加事件名称Button_Click: <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="ExampleNamespace.ExampleP

WPF笔记整理--DataBinding(1)

WPF的数据绑定是一大亮点.如果用WPF而不用数据绑定,那就太失败了. 也不多废话,如果不知道如何绑定,请百度一下.这里简单的提几点: 1. ObservableCollection可用于集合绑定,由于已经实现了INotifyPropertyChanged,可以通过添加删除集合中的元素来实现对UI列表项更新.注意,当一个ObservableCollection已经有元素,通过再次new集合并不能实现清空页面已显示的内容. 如果希望ObservableCollection中某列表项的属性值改变显示

WPF笔记(1.2 Navigation导航)——Hello,WPF!

原文:WPF笔记(1.2 Navigation导航)--Hello,WPF! 这一节是讲导航的.看了一遍,发现多不能实现,因为版本更新了,所以很多旧的语法不支持了,比如说,不再有NavigationApplication,仍然是Application,TextBlock容器的TextWrap属性改为TextingWrap,StartupUri指向"Page1.xaml".只要WPFApplication(不是Browser)内展示Page的页面,都会自动产生导航条.下面我们来看Page

WPF笔记(1.8 资源与映射)——Hello,WPF!

原文:WPF笔记(1.8 资源与映射)--Hello,WPF! 终于,看明白了,已经是凌晨1:39分.这本书这一节写得实在是不好,一个local搞得我糊里糊涂,于是,准备按照他的思路,按照我的理解,改写一遍,包括源代码.首先,这句话WPF新版本已经不用了:<?Mapping XmlNamespace="local" ClrNamespace="DataBindingDemo" ?>,这里DataBindingDemo是例子的命名空间.然后Window标签

WPF笔记(1.1 WPF基础)——Hello,WPF!

原文:WPF笔记(1.1 WPF基础)--Hello,WPF! Example 1-1. Minimal C# WPF application// MyApp.csusing System;using System.Windows; // the root WPF namespacenamespace MyFirstAvalonApp {  class MyApp {    [STAThread]    static void Main(  ) {      // the WPF message

WPF笔记(2.2 DockPanel)——Layout

原文:WPF笔记(2.2 DockPanel)--Layout 读完了这一节,发现DockPanel就是过去winform中的Dock属性.原来的Dock属性是子控件设置,而其父亲级别不用设置.现在WPF改为在父亲级别抽象出一个DockPanel,然后设置其下子控件的Dock属性. <DockPanel LastChildFill="True">    <Button DockPanel.Dock="Left">Left</Button

WPF笔记整理 - Bitmap和BitmapImage

项目中有图片处理的逻辑,因此要用到Bitmap.而WPF加载的一般都是BitmapImage.这里就需要将BitmapImage转成Bitmap 1. 图片的路径要用这样的,假设图片在project下的Images目录,文件名XXImage.png. pack://application:,,,/xxx;component/Images/XXImage.png 2. 代码: Bitmap bmp = null; var image = new BitmapImage(new Uri(this.X

WPF笔记整理--DataBinding(2)

图片绑定时的一个问题.场景如下: 有2个窗口A和B,A窗口的业务逻辑是编辑生成图片.然后从A窗口可以打开B窗口.B窗口是由A生成所有图片的列表.当在A窗口编辑生成图片并保存后打开B窗口就会看到刚刚生成的图片.关闭B窗口,可以在A窗口中继续编辑图片,再次保存图片并打开B窗口,就会看到最新的图片的变化.图片是保存在本地路径. 解决方案:定义一个Converter,将图片读到MemoryStream中,然后再Binding.代码如下: public object Convert(object valu

WPF笔记(2.9和2.10)——Layout

原文:WPF笔记(2.9和2.10)--Layout 2.9讲的是,如果内部设定超过容器大小,怎么办?StackPanel会裁剪越界部分DockPanel和Grid会智能判断,从而决定换行. 2.10 自定义布局容器自定义容器要实现两个方法MeasureOverride和ArrangeOverride,并保证遍历其下的所有子控件,使他们都执行Measure和Arrange方法. using System;using System.Windows.Controls;using System.Win