首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >WPF工具包图表和IndependentValueBinding,IndependentValuePath

WPF工具包图表和IndependentValueBinding,IndependentValuePath
EN

Stack Overflow用户
提问于 2010-06-03 03:02:18
回答 1查看 3.9K关注 0票数 19

我在WPF工具包中遇到了图表引擎的问题。

我没有将数据移动到适当的对象模型,所以ItemSource是由DataView支持的。

第一次尝试

代码语言:javascript
复制
<chartingToolkit:ScatterSeries x:Name="TargetSeries" 
  DataPointStyle="{StaticResource TargetStyle}"  
  ItemsSource="{Binding Path=TargetSeriesData}"
  IndependentValueBinding="{Binding Path=TargetSeries_X}" 
  DependentValueBinding="{Binding Path=TargetSeries_X}" />

这会崩溃,因为我认为绑定被认为是绘图的值或某种不匹配。

第二次尝试

代码语言:javascript
复制
<chartingToolkit:ScatterSeries x:Name="TargetSeries" 
  DataPointStyle="{StaticResource TargetStyle}" 
  ItemsSource="{Binding Path=TargetSeriesData}"
  IndependentValuePath="{Binding Path=TargetSeries_X}"
  DependentValuePath="{Binding Path=TargetSeries_X}" />

这种崩溃发生在初始化步骤中,因为路径属性没有依赖属性的支持,因此不能被绑定。

第三次尝试

代码语言:javascript
复制
<chartingToolkit:ScatterSeries x:Name="TargetSeries" 
  DataPointStyle="{StaticResource TargetStyle}"  
  ItemsSource="{Binding Path=TargetSeriesData}"
  IndependentValuePath="targetFooXColumnName" 
  DependentValuePath="targetFooYColumnName" />

现在这个方法起作用了!但是我想使用绑定,这样我就可以从使用targetFooXColumnName切换到targetFooBarXColumnName。因此,这个解决方案将导致大量看起来很粗糙的代码手动切换路径。

有没有办法解决这个问题?我是否可以使用某种转换器来获取绑定属性,以便正确地从DataView中的列中提取数据?

谢谢,乔尔

EN

回答 1

Stack Overflow用户

发布于 2017-11-30 20:53:29

我认为您的应用程序崩溃的原因是“您没有将数据移动到适当的对象模型”

我可以尝试在ScatterSeries中使用绑定,它可以处理外部崩溃:比如

代码语言:javascript
复制
<Grid Name="grid_Sample" Loaded="grid_Sample_Loaded">
    <DVC:Chart Canvas.Top="80" Canvas.Left="10" Name="mcChart"
       Width="400" Height="250"
       Background="LightSteelBlue">
        <DVC:Chart.Series>
            <DVC:ScatterSeries x:Name="TargetSeries" 
                             ItemsSource="{Binding sampleList}"
      IndependentValueBinding="{Binding Path=TargetSeries_X}"
        DependentValueBinding="{Binding Path=TargetSeries_Y}">
    </DVC:ScatterSeries>
        </DVC:Chart.Series>
    </DVC:Chart>
</Grid>

 private void grid_Sample_Loaded(object sender, RoutedEventArgs e)
    {
        sampleList = new ObservableCollection<SampleTest>() { 
            new SampleTest(){TargetSeries_X=20,TargetSeries_Y=50},
        new SampleTest(){TargetSeries_X=25,TargetSeries_Y=60},
        new SampleTest(){TargetSeries_X=30,TargetSeries_Y=50},
        new SampleTest(){TargetSeries_X=40,TargetSeries_Y=60}
        };
        ((ScatterSeries)mcChart.Series[0]).ItemsSource = sampleList; 
    }

根据我的知识,请尝试使用适当的模型将ItemsSource绑定到ScatterSeries。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2960740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档