博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF学习笔记 - 数据绑定(在代码中)
阅读量:6829 次
发布时间:2019-06-26

本文共 1141 字,大约阅读时间需要 3 分钟。

在程序代码里,有两种设置绑定的方法,一种是调用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

你可能感兴趣的文章
PHP 输入一棵二叉树和一个数字n,要求找出路径和为n的所有路径
查看>>
PHP 使用二叉树的先序和中序遍历结果构造二叉树
查看>>
自制 Word、Excel 批转 PDF 工具
查看>>
关于POP3协议的一点资料
查看>>
JS父页面获取子页面返回值
查看>>
鼠标点击主窗体时,模态子窗口是WindowStyle.None时如何闪烁
查看>>
LABJS源码浅析
查看>>
myShellcode
查看>>
Qore Oracle Module 2.2 发布
查看>>
MoonScript 0.2.2 发布,基于 Lua 的脚本语言
查看>>
assertThat使用方法
查看>>
2013年11月11日工商银行笔试总结
查看>>
Qt之问题求助——当VS遇到“向Pro中添加代码”怎么办?
查看>>
使用reserve函数避免vector和string的内存重新分配
查看>>
ADO.NET(内含存储过程讲解)
查看>>
利用TreeView实现C#工具箱效果
查看>>
ecshop首页调用指定分类下的推荐、热卖、新品
查看>>
腾讯,百度,网易游戏,华为笔面经验
查看>>
PyTalk : a Jabber Client un Python using xmpppy and PyQt4
查看>>
利用ResultFilter实现asp.net mvc 页面静态化
查看>>