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