WPF自定义控件数据绑定出现的问题

Posted shiyingzhi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF自定义控件数据绑定出现的问题相关的知识,希望对你有一定的参考价值。

测试发现,父控件构造函数中初始化界面的部分会完成子控件与父控件ViewModel的数据绑定。因此,如果在父控件构造函数执行前初始化父控件ViewModel中的属性,将导致在子控件执行OnApplyTemplate时无法获取到绑定的改属性。因此,需要尽量避免在父控件构造前构造父控件的ViewModel

正常情况下,ViewModel的初始化都会在控件构造前。我遇到这个问题是由于使用DataTemplate+ViewModel进行控件切换,需要提前初始化ViewModel作为DateTemplate选择View的依据。

我发现TextBox这类原生框架并不会因为这种顺序的差异而出现问题,本质上还是自己写的自定义控件存在缺陷。日后我会继续寻找这个缺陷,现在出现的这个问题,我会通过在父控件InitializeComponent()方法前再次初始化ViewModel中属性的方式解决。

以上是关于WPF自定义控件数据绑定出现的问题的主要内容,如果未能解决你的问题,请参考以下文章

wpf 重新加载自定义控件出现异常

WPF 动态列(DataGridTemplateColumn) 绑定数据 (自定义控件)对象绑定

如何在自定义 wpf 控件上绑定数据网格列的可见性?

WPF 动态列(DataGridTemplateColumn) 绑定数据 (自定义控件)

C# wpf 如何实现自定义控件,布局时,大小发生变化,内部绘制的曲线跟随变化?

wpf 控件属性通过数据绑定到某个集合的某一个数据上。