-1

我有一些这样的 xaml 代码:

<s:SciChartSurface>
    <s:SciChartSurface.XAxis>
        <s:NumericAxis Style="{Binding ..., Converter=...}" />
    </s:SciChartSurface.XAxis>
</s:SciChartSurface>

x 轴的样式取决于属性。转换器选择在 xaml 中某处定义的三种不同静态资源之一。现在轴本身也是多态的,所以我在后面的代码中创建它:

<s:SciChartSurface>
    <s:SciChartSurface.XAxis>
        <Binding CreateAxis />
    </s:SciChartSurface.XAxis>
</s:SciChartSurface>

或者

<s:SciChartSurface XAxis="{Binding CreateAxis}" />

但是如何将动态样式应用于后面代码中创建的对象呢?

4

1 回答 1

0

你的问题有点不清楚,因为你根本没有发布任何代码隐藏代码,但我相信你希望能够做这样的事情:

var axis = new SciChart.Charting.Visuals.Axes.NumericAxis();
axis.SetBinding(SciChart.Charting.Visuals.Axes.NumericAxis.StyleProperty, new System.Windows.Data.Binding("Path") { Converter = new YourConverterClass });
ss.XAxis = axis;

在 XAML 标记中为SciChartSurface元素指定一个x:Name,然后将其XAxis属性设置为NumericAxis您以编程方式创建的对象:

<s:SciChartSurface x:Name="ss">
于 2017-06-13T13:22:19.830 回答