我正在尝试对具有 XAxis 属性的图表工具进行子类化,该属性的类型为 IAxis(因此您可以给它一个 NumericAxis、DateAxis 等)。正常使用基本图表时,我可以像这样设置 XAxis:
<chart:BaseChart>
<chart:BaseChart.XAxis>
<chart:NumericAxis VisibleRange="{Binding XAxisVisibleRange}" AxisAlignment="Bottom"/>
</chart:BaseChart.XAxis>
</chart:BaseChart>
但是,我不确定在自定义控件中设置此默认轴的最佳做法是什么,它应该在 XAML 中、C# 代码隐藏等中吗?我可以通过在我的子类的构造函数中设置 XAxis 属性/绑定来使其从代码隐藏中工作。这行得通,我只是不知道这是否是“正确”的方法。
作为 WPF 的新手,我不知道如何在 XAML 中为自定义控件执行此操作,如果这甚至是合适的位置。它应该放在控件模板、样式或其他地方吗?我尝试用这种风格做一个 Setter,但没有用(它编译但我没有看到任何轴)。从控件模板中,它无法识别<chart:BaseChart.XAxis>
. 为右上和左下角定义了 AxisAreas,如果我只是将<chart:NumericAxis etc/>
其中一个放在其中,那么轴确实会显示在那里,但是感觉不正确,因为它实际上并没有在 BaseChart 上设置 XAxis 属性,而且它是绕过 NumericAxis 对象上的 AxisAlignment 属性,并将轴显式放置在我将轴代码放入的任何 AxisArea 中。
就像我说的那样,我确实从代码隐藏中进行了这项工作,我只是想确保我以最好的方式做到这一点。任何帮助将不胜感激,在此先感谢!