1

内にいくつかのLineSeries2D要素がありXYDiagram2D.Seriesます。Brushコードビハインドでプロパティを取得したい。以下のコードを試してみると、シリーズ ブラシ プロパティが null です。XAML でブラシ プロパティを適切に設定した場合にのみ、適切な結果が得られます。Brushしかし、XAML でこれを設定しないと、null ではなく、デフォルトでシリーズが色付けされるを取得することが期待されます。

<dxc:XYDiagram2D.Series>
    <dxc:LineSeries2D ArgumentScaleType="Numerical" x:Name="series"
                                          ArgumentDataMember="Time"
                                          ValueDataMember="Value"
                                          DataSource="{Binding Path=ListaChart}">      
    </dxc:LineSeries2D>

    <dxc:LineSeries2D ArgumentScaleType="Numerical" x:Name="series1"
                                          ArgumentDataMember="Time"
                                          ValueDataMember="Value"
                                          DataSource="{Binding Path=ListaChart2}">
    </dxc:LineSeries2D>
</dxc:XYDiagram2D.Series>

およびコードビハインドで:

chart.UpdateData();
chart.UpdateLayout();

foreach (var targetSeries in chart.Diagram.Series.OfType<LineSeries2D>())
{
    vm.SelectedChannelBrush = targetSeries.Brush;
}

if (PNUsLB.SelectedIndex == 0)
{
    vm.SelectedChannelBrush = series.Brush;
}
else
{
    vm.SelectedChannelBrush = series1.Brush;
}

その名ChartControlは「チャート」。私の問題はseries.Brush、チャートが実行時に描画された後、null ですseries1.BrushtargetSeries.Brushでは、コードビハインドでデフォルトのシリーズの色を取得するにはどうすればよいですか?

4

2 に答える 2

1

今日はちょうど同じことを考えていました。ブラシの色を変更するには、チャート コントロールからスローされるイベントを処理する必要があります。

  1. チャートはイベントを発生させることができるはずです:

    chartControl.CustomDrawCrosshair+=new CustomDrawCrosshairEventHandler(chartControl_CustomDrawCrosshair);
    
  2. 発生したイベントを関数で処理します。

    public void chartControl_CustomDrawCrosshair(object sender, DevExpress.Xpf.Charts.CustomDrawCrosshairEventArgs e)
    {
         e.CrosshairLineElement.Brush = Brushes.DeepSkyBlue;
    }
    

ブラシに使用できる Windows の色は次のとおりです。

http://i.msdn.microsoft.com/dynimg/IC24340.png

おめでとう、ミジャット

于 2013-12-03T12:15:37.670 に答える
0

物件を確認する必要があると思いますpaletteここに完全な答えがあるはずです。

于 2013-06-28T09:09:51.797 に答える