C# WPF 使用UserControl展示Chart图表时数据绑定失败如何修复
问题根因
你在UserControl中显式实例化了新的MainViewModel作为自身DataContext,这个新实例和主窗口中已完成数据初始化的MainViewModel不是同一个对象,导致绑定的ViewModels集合、Items/View属性都没有对应数据,图表自然无法渲染。
修复步骤
- 删除UserControl XAML中的
UserControl.DataContext声明块,不要在UserControl内部显式设置DataContext。WPF默认会让子元素继承父容器的DataContext,UserControl放到主窗口的TabItem中后,会自动继承主窗口中已经加载好数据的MainViewModel实例。 - 主窗口TabItem中直接引入UserControl即可,不需要额外给UserControl设置DataContext,原有绑定逻辑不需要修改即可正常生效。
内容的提问来源于stack exchange,提问作者Tony Chen
相关产品推荐
相关产品推荐

