我有Tabcontrols和Oxyplot的错误。我的xaml的结构是这样的:我有一个AvalonDock文档,里面我有每个文档的3个带编码的选项卡。其中一个选项卡有另一个tabcontrol,每个选项卡中都有一个Oxyplot View。问题是当我打开两个(有时是三个)Avalondock文档时,我得到以下异常:
This PlotModel is already in use by some other PlotView control.
我想这是因为tabcontrol正在虚拟化选项卡,并且情节模型正在多次用于不同的视图。我该如何预防?
问题与此非常相似,
但我认为它还没有解决方案。我尝试了这里给出的虚拟化解决方案
http://www.codeproject.com/Articles/460989/WPF-TabControl-Turning-Off-Tab-Virtualization
并且工作正常,但这是针对模板中的标签而不是来自硬编码标签。
有什么想法吗?
由于
问候。
Saul Hidalgo。
答案 0 :(得分:0)
您可以使用以下代码从PlotModel中删除视图
private PlotVm vm = new PlotVm();
private void LayoutRoot_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e) {
var window = new PlotWindow();
((IPlotModel)vm.Model)?.AttachPlotView(null);
window.DataContext = vm;
Debug.WriteLine(vm.Model.PlotView);
window.ShowDialog();
Debug.WriteLine(vm.Model.PlotView);
}