错误:此 PlotModel 已被其他 PlotView 控件使用

问题描述 投票:0回答:2

我有两个选项卡绑定到一个

viewmodel
,其中包含
PlotModel
oxyplot
和通过
DataTemplate
选择的视图模型。 当单击第一个选项卡时,
viewmodel
已正确绑定,但是当切换到标题中定义的上面的第二个选项卡时,会抛出异常。 两个选项卡中的所有控制都是相同的。 是否可以将一个对象绑定到两个控件?

wpf xaml mvvm viewmodel oxyplot
2个回答
8
投票

我知道您面临什么问题,因为我自己也遇到过。 Oxyplot 不允许您将一个模型绑定到两个绘图。

原因:一旦将 PlotModel 分配给 Plotview,它就会封装在该 PlotView 对象中。

解决问题的唯一方法是为每个 PlotView 创建单独的 PlotModel。


0
投票

如果我理解正确的话。 从页面切换时,您应该重置氧模型。我将通过我的例子向您展示。

 <StackPanel >
     <StackPanel Orientation="Horizontal">
         <AppBarButton Label="Выбрать время" Icon="Calendar" Click="AppBarButton_Click"  ></AppBarButton>
         <AppBarButton Label="Последнее измерение" Icon="BackToWindow" Click="AppBarButton_Click_1"></AppBarButton>
     </StackPanel>
     <oxy:PlotView Name="oxyPlotComponent" Height="600" Width="700" 
                   Model="{x:Bind ViewModel.PlotFilling, Mode=OneWay}"
                   CacheMode="BitmapCache"/>
 </StackPanel>

离开页面时,清除氧图。

 private void Page_Unloaded(object sender, RoutedEventArgs e)
 {
     oxyPlotComponent.Model = null;
 }
© www.soinside.com 2019 - 2024. All rights reserved.