2

Caliburn.microを使用するWPFアプリケーションでwinformsグラフ(System.Windows.Forms.DataVisualization)を作成しようとしています。

基本的にチャートをラップしてコントロールに表示するユーザーコントロールがあります。次のようになります。

<DockPanel LastChildFill="true">
    <WindowsFormsHost x:Name="WindowsFormsHost">
        <winformchart:Chart x:Name="WinformChart" Dock="Fill" MouseClick="ChartControl_MouseClick">
            <winformchart:Chart.Series>
                <winformchart:Series Name="series" ChartType="Line"/>
            </winformchart:Chart.Series>
            <winformchart:Chart.ChartAreas>
                <winformchart:ChartArea/>
            </winformchart:Chart.ChartAreas>
        </winformchart:Chart>
    </WindowsFormsHost>
</DockPanel>

コントロールは、対応するビューモデルを持つビューで使用されます。ビューモデルにチャートを更新してもらいたいのですが。

これは、チャートをビューモデルに接続する方法です。

_view = IoC.Get<MyView>();
Chart = _view.ChartControl1.WinformChart;

ここChartControl1で、はビュー内のグラフのXAML名であり、Chartはビューモデル内のプロパティです。

1)これは、ユーザーコントロールをビューモデルに接続するという本当に良い考えですか?

私のビューモデルはチャート値(Chart.Series[0].Points[i].SetValueXY(i, data[i]))を更新し、次に無効Chartにしてユーザーコントロールを更新します。ただし、コントロールには何も表示されません。

2)このアプローチの何が問題になっている可能性がありますか?

2.a)Caliburn.microには、ユーザーコントロールを更新するための特別な指示が必要ですか?

4

0 に答える 0