2017-06-13 8 views
-1

の背後にあるコードで作成されたオブジェクトにスタイルを設定するには、私はこのようないくつかのXAMLコードを持っている:どのよう

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

x軸は、プロパティに依存スタイルを持っています。コンバータは、xamlのどこかで定義された3つの異なる静的リソースの1つを選択します。 は今、軸自体も、多形であるので、私は背後にあるコードでそれを作成します。

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

または

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

しかし、どのように、私は背後にあるコードで作成したオブジェクトに動的なスタイルを適用することができます?あなたはまったくコードビハインドのコードを投稿していないので、

+0

なぜdownvoteということである:あなたのXAMLマークアップでx:Name、その後はあなたがプログラムで作成NumericAxisオブジェクトにそのXAxisプロパティを設定しますか?私は一日を過ごして、これを働かせて、私が尋ねる前に答えを探していました。 – 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要素与えます

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

の解決策を正確に検証するまでに時間がかかりました。 2番目の行の代わりに、私はaxis.Style = ...と言っています。コンバータはコンバータを置き換えます(コンバータはxamlの限界を巡るハックです).3行目はまだxamlにあります。同様の問題へのリンクは、xamlで定義されたスタイルに簡単にアクセスできることを示しています – user829755

+0

実際のスタイルはどこに定義されていますか?あなたが投稿したサンプルXAMLのソースプロパティにStyleプロパティをバインドしているためです。 – mm8