private void RPM3DSpectrumDataView_Unloaded(object sender, RoutedEventArgs e) { if (ViewModel != null) { if (rpm3DSpectrumSubscrible != null) { rpm3DSpectrumSubscrible.Dispose(); rpm3DSpectrumSubscrible = null; } ViewModel = null; } }
private void RPM3DSpectrumView_Loaded(object sender, RoutedEventArgs e) { ViewModel = DataContext as RPM3DSpectrumDataViewModel; if (ViewModel != null) { rpm3Dchart.BeginUpdate(); m_surface.SetSize(ViewModel.SizeX, ViewModel.SizeY); rpm3Dchart.EndUpdate(); if (rpm3DSpectrumSubscrible != null) { rpm3DSpectrumSubscrible.Dispose(); } rpm3DSpectrumSubscrible = ViewModel.WhenPropertyChanged.Where(o => o.ToString() == "RPM3DSpectrumData").ObserveOn(uiContext).Subscribe(OnRPM3DSpectrumDataChanged); } }