设置ScalesYAt≠0时LiveChartsCore WinForms图表崩溃问题求助
问题原因分析
1. 核心错误:X/Y轴属性赋值混淆
你在Form1按钮点击事件里,错误地把ViewModel的YAxes赋值给了图表的XAxes属性。这会直接导致:
- 图表的Y轴集合根本没加载你定义的2个自定义Y轴,实际只有系统默认创建的1个Y轴(甚至可能为空)
- 当红色折线设置
ScalesYAt=1时,图表找不到索引为1的Y轴,直接触发IndexOutOfRangeException崩溃 - 设置
ScalesYAt=0能运行,是因为用的是系统默认的第0个Y轴,但这和你自定义的多Y轴配置无关,自然达不到预期效果
2. 预览版本的潜在影响(次要)
你用的是2.0.0-rc2预览版,这类版本可能存在一些未修复的小bug,但当前崩溃的直接诱因绝对是属性赋值错误——只要配置正确,RC版本的多Y轴功能是可以正常工作的。
快速修复步骤
- 把按钮事件里的
chart.XAxes = ViewModel.YAxes;改成chart.YAxes = ViewModel.YAxes; - 确认ViewModel里的2个Y轴已经正确初始化(比如设置
Position、Labeler等属性,避免和默认Y轴冲突) - 重新给红色折线设置
ScalesYAt=1,此时图表就能正确识别第二个Y轴,实现多Y轴展示
内容的提问来源于stack exchange,提问作者desiredness
相关产品推荐
相关产品推荐

