我有两个选项卡绑定到一个
viewmodel
,其中包含 PlotModel
的 oxyplot
和通过 DataTemplate
选择的视图模型。
当单击第一个选项卡时,viewmodel
已正确绑定,但是当切换到标题中定义的上面的第二个选项卡时,会抛出异常。
两个选项卡中的所有控制都是相同的。
是否可以将一个对象绑定到两个控件?
我知道您面临什么问题,因为我自己也遇到过。 Oxyplot 不允许您将一个模型绑定到两个绘图。
原因:一旦将 PlotModel 分配给 Plotview,它就会封装在该 PlotView 对象中。
解决问题的唯一方法是为每个 PlotView 创建单独的 PlotModel。
如果我理解正确的话。 从页面切换时,您应该重置氧模型。我将通过我的例子向您展示。
<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;
}