zoukankan      html  css  js  c++  java
  • WPF学习笔记

    在程序代码里,有两种设置绑定的方法,一种是调用FrameworkElement或FrameContentElement对象的SetBinding实例方法。

    例如:

    Public MainWindow()

    {

    InitializeCompnet();

    Binding binding = new Binding();

    //设置源对象

    binding.Source = treeview;

    //设置源属性

    binding.Path = new PropertyPath("SelectedItem.Header");

    //设置目标属性

    currentFolder.SetBinding(TextBlock.TextProperty, binding);

    }

    另一种是调用BindingOperations类的SetBingding静态方法。可以向这个静态方法传递与上面实例方法相同的对象,但是他的第一个参数表示目标对象。

    例如:BindingOperations.SetBinding(currentFolder, TextBlock.TextProperty, binding);

    静态方法的好处是,第一个参数是一个DependencyObject对象,他支持对那些不是从FrameworkElement或FrameContentElement对象继承而来的对象(如Freeable对象)进行数据绑定。

    如果一个绑定在剩下的应用程序生命周期中已经没有用了,可以在任何时候通过BindingOperations.ClearBinding断开该绑定,要做的就是传入一个目标对象和它的依赖属性。例如:BindingOperations.ClearBinding(currentFolder, TextBlock.TextProperty);

    BindingOperations.ClearAllBindings方法是移除所有的绑定。

    例如:BindingOperations.ClearAllBindings(currentFolder);

    另一种清除绑定的方法是直接为目标属性设置一个新的值。

    例如:currentFolder.Text = "I am no longer receiving updates.";

    需要注意的是,这仅是清除单向绑定。ClearBinding方法相对而言更加灵活,因为它仍然允许依赖属性以较低的优先级从源那里(如样式触发器、属性值继承等)获得值。

    实际上ClearBinding内部调用的都是目标对象的ClearValue方法清除一个本地值。

    http://blog.csdn.net/cs_oldhorse/article/details/6804567

  • 相关阅读:
    HDU 1828 Picture (线段树:扫描线周长)
    [USACO18OPEN] Multiplayer Moo (并查集+维护并查集技巧)
    NOIP2016 天天爱跑步 (树上差分+dfs)
    NOIP2013 华容道 (棋盘建图+spfa最短路)
    NOIP2015 运输计划 (树上差分+二分答案)
    NOIP2018 前流水账
    luogu P2331 [SCOI2005]最大子矩阵
    luogu P2627 修剪草坪
    CF101D Castle
    luogu P2473 [SCOI2008]奖励关
  • 原文地址:https://www.cnblogs.com/tianciliangen/p/4317658.html
Copyright © 2011-2022 走看看