首页 > 解决方案 > 创建 CustomRenderableSereisViewModel - 设置属性

问题描述

给所有可能相关的人:

我想参考 SciChart 示例包中的“Spline Scatter Line Chart”示例。如果我要将其设为可以在 ViewModel 类中设置的 CustomRenderableSeriesViewModel,我将如何去做呢?

我正在使用 SciChart v4,这是我目前所知道的:

  1. CustomRenderableSeriesViewModel : BaseRenderableSeriesViewModel
  2. ViewType = typeof(CustomRenderableSeries)

到目前为止,我的代码是:

public class CustomRenderableSeriesViewModel : BaseRenderableSeriesViewModel
{
    public override Type ViewType => typeof(CustomRenderableSeries);
}

我将如何通过 CustomRenderableSeriesViewModel 类设置 CustomRenderableSeries 的 IsSplineEnabled 属性?

仅供参考:我看过这里工作示例 - MVVM中的 CustomRenderableSeries 链接转到 SciChart v5 用户手册。

你能给些建议么?

标签: c#wpfscichart

解决方案


尝试向CustomRenderableSeriesViewModel类添加一个属性:

public class CustomRenderableSeriesViewModel : BaseRenderableSeriesViewModel
{
    public override Type ViewType => typeof(CustomRenderableSeries);

    private bool _isSplineEnabled;
    public bool IsSplineEnabled
    {
        get { return _isSplineEnabled; }
        set { SetValue(ref _isSplineEnabled, value, "IsSplineEnabled"); }
    }
}

...并将其绑定到CustomRenderableSeries样式中的属性:

<Style TargetType="local:SplineLineRenderableSeries" x:Key="splineSeriesStyle"
       BasedOn="{StaticResource MvvmDefaultRenderableSeriesStyle}">
    <Setter Property="IsSplineEnabled" Value="{Binding IsSplineEnabled}"/>
</Style>

目前还不清楚这是否真的有效——我还没有测试过——鉴于 SciChart.com 上的以下开放线程:https ://www.scichart.com/questions/question/setting-value-in-renderableseriesviewmodel

如果失败,我建议您在此处发表新评论并等待官方支持团队回复您。毕竟他们声称“以卓越的技术支持而自豪,并希望您快速解决您的请求”,因此您很快就会从 Try to add a property to the CustomRenderableSeriesViewModel 类中得到答案:

public class CustomRenderableSeriesViewModel : BaseRenderableSeriesViewModel
{
    public override Type ViewType => typeof(CustomRenderableSeries);

    private bool _isSplineEnabled;
    public bool IsSplineEnabled
    {
        get { return _isSplineEnabled; }
        set { SetValue(ref _isSplineEnabled, value, "IsSplineEnabled"); }
    }
}

...并将其绑定到样式中的 CustomRenderableSeries 的属性:

<Style TargetType="local:SplineLineRenderableSeries" x:Key="splineSeriesStyle"
       BasedOn="{StaticResource MvvmDefaultRenderableSeriesStyle}">
    <Setter Property="IsSplineEnabled" Value="{Binding IsSplineEnabled}"/>
</Style>

鉴于 SciChart.com 上的以下开放线程,目前尚不清楚这是否真的有效:https ://www.scichart.com/questions/question/setting-value-in-renderableseriesviewmodel

如果失败,我建议您在此处发表新评论并等待官方支持团队回复您。SciChart 声称“以卓越的技术支持而自豪,并希望您能够快速解决您的请求”,因此您很快就会从@Dr.那里得到答复。ABT 或他的团队成员。


推荐阅读