数据绑定出错的原因
来源:互联网 发布:边际效应递减规律知乎 编辑:程序博客网 时间:2024/06/05 17:11
使用XAML最经常碰到的问题是数据绑定出错。在经历了无数次绑定出错后我终于做了个决定,把调试出错的步骤给整理一下,免得下次再错的时候仍然不知道怎么办
闲话少说,以下步骤请大家参考:
1)核对变量信息是否正确。虽然是非常简单的一步,但如果你的xaml习惯手写而不是复制的话,最好还是做一下这个检查,免得后面查错查了好久都找不到这个最简单的原因。
2)查看绑定源/视觉树的DataContext属性。大多数的绑定错误都是由这个问题引起的,尤其碰到使用列表控件或引用Resource的时候更应当仔细检查。vs2010中可在xaml.cs中输入下面的式子查看确定按钮的DataContext
var d =okButton.DataContext as MyViewModel;或是使用Snoop等第三方控件查看
3)如果绑定仍然不正确的话,那么很有可能是绑定的数据项出了错误。在xaml.cs中利用VS的智能感知查看绑定的数据项是否存在:
var d =ok.DataContext as MyViewModel;int i=d.SelectedItem.Config.type //查看type是否存在4)如果使用了数据触发器,还应当查看DataTrigger的绑定是否设置正确的值。同样,这里我还是比较习惯在程序跑起来以后在xaml.cs文件中查看绑定的数据项是否正确。
如
<DataTrigger Binding="{Binding Path=SelectedItem.Config.type}" Value="0" > <Setter Property="Source" Value="..\Images\1.jpg"/> </DataTrigger>
private void dataGrid1_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) { var d = okButton.DataContext as NewSpectrumSettingViewModel; int i = s.SelectedItem.Config.type; }
以上是我做的小结,不完善之处还请各位看官多多发表意见。
- 数据绑定出错的原因
- Vue关于数据绑定出错
- 连续调用ReadRecord读取NVRAM的数据出错的原因
- maximo 同步数据出错原因
- delete出错的原因
- 程序出错的原因
- DataTimePicker数据绑定遇到Null时异常的原因
- 使用数据绑定控件GrideView的原因以及如何使用
- 解决DataList再次绑定数据时出错!
- SpringMVC3.2+Hibernate4存储数据出错原因
- 基本上找到出错的原因
- GPF出错的原因之一
- @Autowired注解出错的原因
- Mybatis绑定错误的原因
- Mybatis绑定错误的原因
- Mybatis绑定错误的原因
- Mybatis绑定错误的原因
- Mybatis绑定错误的原因
- 跟我做WinForm开发(2)-后台逻辑操作
- Jmeter中的一些应用备忘
- 值得读的文章
- Linux上安装Oracle汉字乱码问题的解决方法
- 转一篇比较详细的vc编译qt的文
- 数据绑定出错的原因
- 编程复习3求函数的第n项
- 3D打印挑战中国工业创新体系:美国制造占3/4
- 女王啊,你用其它女子的ID,在网上挑逗贫僧,贫僧上钩了,这说明什么?
- simple_stroul
- MFC原创教程:从不会开始(对话框2)
- [转]SUSE Linux Enterprise 10 安装 Oracle 10g (图形界面)
- string中的c_str()、data()、copy(p,n)函数的用法
- 读 Beginning Android Games 2nd Edition (十五) 游戏主菜单