2017-06-13 60 views
-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}" /> 

但我怎么能申请的动感风格在代码中创建背后的对象?

+0

那么,为什么是一个downvote?我花了整整一天的时间试图让这个工作,并寻求答案之前,我问。它只是花了我一些时间来验证解决方案 – user829755

回答

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; 

给这个SciChartSurface元素的x:Name在XAML标记,然后设置其属性XAxis到您编程创建NumericAxis对象:

<s:SciChartSurface x:Name="ss"> 
+0

不完全。而不是第二行,我想说axis.Style = ...,然后......将取代转换器(一个转换器是围绕xaml的限制的破解),第三行仍然在xaml中。指向类似问题的链接表明我可以轻松访问在xaml中定义的样式 – user829755

+0

您的实际样式定义在哪里?因为您将Style属性绑定到您已发布的示例XAML中的源属性。 – mm8

相关问题