zoukankan      html  css  js  c++  java
  • 【转载】wpf学习笔记6

    WPF感悟(2)——XAML与C#的语法不对称

    XAML的语法与C#的语法并不是完全对称的,最明显的就是在设置Binding的时候。

    XAML:

    <ListBox Name="listBox1" ItemsSource="{Binding ...}" .../>

    如何看待ItemsSource="{Binding ...}这个attribute?如果认为是

    listBox1.ItemsSource = new Binding(...);,那就错了——数据类型都不匹配。实际上,这句XAML对应的C#应该是:

    listBox1.SetBinding(ListBox.ItemsSourceProperty, new Binding(...));

    为了让Binding更详细,往往把它拎出来写,成为这样:

    1. Binding b = new Binding("Path"); 
    2. b.Source = XXXX; 
    3. listBox1.SetBinding(ListBox.ItemsSourceProperty, b); 

    ===========================================================

    补记一点东西:

    特别是对于DataContext这个东西——

    something.DataContext = aDataSource;

    something.SetBinding(DataContextProperty, aBinding);

    是完全不一样的(当然不一样!只是工作的时候容易搞混)。前者是设定一个对象的DataContext后,这个DataContext就不变了(是哪个对象就不变了,并不是说这个对象内的内容不变);后者是说这个对象的DataContext借助一个Binding来改变。

  • 相关阅读:
    MySQL笔记(6)---锁
    MySQL笔记(5)---索引与算法
    MySQL笔记(4)---表
    MySQL笔记(3)---文件
    MySQL笔记(2)---InnoDB存储引擎
    MySQL笔记(1)---MySQL体系结构和存储引擎
    生成器,迭代器,装饰器
    文件操作、def函数、模块导入、json
    数据类型、字符串操作
    基本数据类型,条件判断
  • 原文地址:https://www.cnblogs.com/fx2008/p/2423503.html
Copyright © 2011-2022 走看看