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来改变。

  • 相关阅读:
    Javascript进阶篇——(函数)笔记整理
    Javascript进阶篇——(流程控制语句)笔记整理
    Javascript进阶篇——(数组)笔记整理
    Javascript进阶篇——(JS基础语法)笔记整理
    Javascript基础学习笔记
    wamp安装
    JavaScript语法作业
    0721JS
    css复习内容
    盒子模型
  • 原文地址:https://www.cnblogs.com/fx2008/p/2423503.html
Copyright © 2011-2022 走看看