作为一个WPF新手,在ListBox控件里,我分不清 DataContext 与 ItemSource的区别。

在实践中,似乎:

<ListBox x:Name="Lst" DataContext="{Binding model.UserList}" ItemsSource="{Binding}">

<ListBox x:Name="Lst" ItemsSource="{Binding model.UserList}">

似乎是等价的。

我先记录下来,看看以后是否会明白。

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

对于一个用户控件,如果在外部赋了DataContext,那么会覆盖了控件本身的DataContext,如

<uv:UserListUV DataContext="{Binding UserListDataContext}"/>

会导致UserListUV控件内部的

this.DataContext = ... 无效。在这种情况下,要对控件内部的Grid或其他容器重新赋值。

this.grid.DataContext = ...

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

看来WPF这个数据源绑定真是个问题,因为没有起作用,所以今晚又调试了一晚。总结出两个要注意的地方:

1、在控件中赋数据上下文,形式为DataContext={Binding ***} 而不是 DataContext=***

2、要注意此控件的容器是否也有DataContext,是否有冲突或不兼容

最新文章

  1. padding与margin的区别
  2. 开始使用pycharm了
  3. pr高的2级域名站点如何做优化?
  4. 20145334赵文豪 《Java程序设计》第8周学习总结
  5. Android Studio修改项目的包名
  6. Android Studio + gradle多渠道打包
  7. string中常用的函数
  8. JS正则表达式验证数字非常全
  9. 手动为maven的本地仓库添加JAR
  10. 【转】wget
  11. CocosCreator脚本中向依赖的组件赋值后, 被依赖的组件没有取到值的问题!
  12. hMailServer相关视频教程
  13. 使用Jmeter监测服务器性能指标
  14. 提取一个txt 文档中含指定字符串的所有行
  15. 安装owncloud出现:Error while trying to create admin user: An exception occurred while executing
  16. java工程师学习计划
  17. 如何在一张ppt中插入多张图片并能依次播放
  18. 终端(terminal)、tty、shell、控制台(console)、bash之间的区别与联系
  19. python编码问题1
  20. 总结day7 ---- 函数的内容 ,初识,返回值,进阶(一)

热门文章

  1. ffmpeg rtp时间戳
  2. Android中ViewPager动态创建的ImageView铺满屏幕
  3. vim之补全1(完全个人定制版)
  4. 四次挥手与tcp标志位
  5. 9 Java 堆排序
  6. 浅谈animation里的forwards
  7. nginx+tomcat实现负载均衡集群
  8. 关于JS闭包的一点理解
  9. Django - ORM创建基本类
  10. js事件委托或事件代理