问题标签 [radchart]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何在 RadCartesianChart 中向 Telerik RadLegendControl 添加垂直滚动条?
我正在 UWP 中开发一个程序,它能够在屏幕上绘制数据图表,并且必须支持用户可能希望在其上绘制大量系列图表的潜力。
我使用的图表是 Telerik 的 RadCartesianChart,我使用 RadLegendControl 来显示图表的图例。这是在具有两列和一行的网格上布置的。在第一列 (0) 中是 RadLegendControl。第二列 (1) 是 RadCartesianChart。
当绘制大量系列时,这可能会导致图例下降到应用程序底部下方,从而切断图例中剩余的项目。这基本上是该图表使用的“过度”示例,我想确保它在这种使用下能够有效地发挥作用。
有没有办法向图例控件添加滚动条,以便用户可以滚动图例?还是我应该寻找一种不同的方法来显示图例?
这适用于在 UWP 中制作的程序,该程序目前使用 Visual Studio 2019 面向 Windows 10 1803 的最低版本并面向 1809。
我在 Telerik 的论坛上发了一个帖子问这个问题,有人建议可能有一个外部组件让图例在屏幕外延伸到其全高,他们提供了一个可能的解决方案,试图将显式最大高度设置为看到滚动条到达上限时出现。因此,在 XAML 中,我设置了 MaxHeight="300",它比 Chart 的平均图例所需的值要小得多,这样我就可以很容易地看到滚动条是否出现。当我尝试这个时,没有出现滚动条。
最初,我使用 StackPanel 绘制 RadLegendControl 以重新排序图例以从上到下而不是从左到右显示,以便它可以与图表并排显示。我怀疑 StackPanel 的内部 ScrollViewer 可能与 RadLegendControl 的内部 ScrollViewer 发生冲突。我删除了 StackPanel 布局,以确保它不会发生冲突以查看是否会出现 ScrollViewer。它没有(我也测试了水平的,但没有成功)。
我尝试了其他解决方案,例如将 RadLegendControl 的 MaxHeight 属性绑定到它所在的 Grid 行的 Height 或 ActualHeight,将 VerticalScrollMode 显式设置为 Enabled 并将 VerticalScrollVisibility 设置为 Visible。
这是 XAML 中的 RadLegendControl 代码,仍将 MaxHeight 显式设置为 300:
其中 telerikPrimitives 定义如下:
我尝试添加/修改以下行:
目前,我的文件可以在我的图表上显示 ~332 系列,图例没有显示滚动条,项目在屏幕外消失。(不幸的是,我没有足够的代表来显示图像)。
我想找到一个解决方案,如果有足够的系列显示,会出现一个垂直滚动条并允许用户向下滚动图例。
我意识到这可能看起来有些过分,但如果用户出于任何原因决定在图表上显示大量系列,我想确保我的程序能够正常运行。