WPF Bind设置了Source还需要对绑定控件的Content进行设置吗?

控件绑定一般是:textBlock.Content=person;BIndingbinding=newbinding("PersonName");textBlock.Se... 控件绑定一般是:
textBlock.Content = person;
BInding binding = new binding("PersonName");
textBlock.SetValue(TextBlock.BindingProperty, binding);

但在Binding中还有一个Source.这个Source是干什么用的呢?
如果是资源的话,是不是不用设置Content了?比如:
BInding binding = new binding("PersonName");
binding.Source = person;
textBlock.SetValue(TextBlock.BindingProperty, binding);
展开
 我来答
FoolRabbit编程
2014-02-17 · 知道合伙人数码行家
FoolRabbit编程
知道合伙人数码行家
采纳数:619 获赞数:3805
毕业于苏州大学,4年编程经验,对WPF有研究。

向TA提问 私信TA
展开全部
Binding binding = new Binding("PersonName");
binding.Source = person;
txtBlock.SetBinding(TextBlock.TextProperty, binding);

首先TextBlock没有Content属性,有Text属性。

Source是绑定对象中的一个参数,这个参数不一定要设置,需要看如何进行数据绑定。

然而设置绑定使用针对TextBlock的某一依赖属性的,这里应该是TextProPerty吧。


关于数据绑定,可以参考下博文:http://blog.csdn.net/rabbitsoft_1987/article/details/19297073

追问
是DataContext.
1直接将一个对象绑定至控件的DataContext,之后通过Binding指定依赖属性绑定的字段(SetBinding).
2将一个对象传给Binding的Source.之后通过Binding指定依赖属性绑定的字段(SetBinding).
以上两种区别就是数据源关联的方法: 一种是DataContext,一种是Binding的Source.
这两种等效吗?
追答

效果是一样的,是两种绑定的模式,可以看下上面的博文

            Binding bd=new Binding();
            bd.Path=new PropertyPath("id");
            bd.Source=parent;
            txtBlock1.SetBinding(TextBlock.TextProperty, bd);

            bd = new Binding();
            bd.Path = new PropertyPath("id");
            txtBlock2.SetBinding(TextBlock.TextProperty, bd);
            txtBlock2.DataContext = parent;
dayinspring
高粉答主

2015-11-13 · 繁杂信息太多,你要学会辨别
知道大有可为答主
回答量:2.3万
采纳率:92%
帮助的人:3561万
展开全部
Binding 的源(source)也就是数据的源头。Binding对源的要求并不苛刻------只要它是一个对象,并且通过属性(Property)公开自己的数据,它就能作为Binding 的源。
如果想让作为Binding源的对象具有自动通知Binding自己属性值已经已经变化的能力。那么就需要让类实现INotifyChanged接口并在属性的Set语句中激发PropertyChanged事件。在日常生活中,除了使用这种对象作为数据源之外,我们还有更多的选择,比如控件把自己的容器或子集元素当源、用一个控件做为另一个控件的数据源,把集合作为ItemControl的数据源、使用XML作为TreeView或Menu的数据源。把多个控件关联到一个“数据制高点”上,甚至干脆不给Binding指定数据源、让他自己去找。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式