public void Load() { //changed to creating zcanvas by code rather than xaml, it was causing a memory leak cvMainContainer = new UI.ZoomCanvas.Canvas() { HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch, Background = new SolidColorBrush(Colors.White) , RenderTransformOrigin = new Point(0,0) }; cvMain = new Windows.UI.Xaml.Controls.Canvas() { HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch, Background = new SolidColorBrush(Colors.White), RenderTransformOrigin = new Point(0.5d, 0.5d) }; cvMain.RenderTransform = new CompositeTransform() { ScaleX = 1, ScaleY = 1, TranslateX = 0, TranslateY = 0 }; cvMainContainer.Content = cvMain; layoutRoot.Children.Insert(0, cvMainContainer); var ct = cvMain.RenderTransform as CompositeTransform; cvMainContainer.Scale = ct.ScaleX; }
public void Unload() { if (vm != null) { if (cvMain.Children.Count > 0) { foreach (var nc in cvMain.Children) { if (nc is PageLayout) { var ncpl = nc as PageLayout; ncpl.PerformAction -= PageLayout_PerformAction; ncpl.DataContext = null; } } cvMain.Children.Clear(); } if (vm.Pages != null) { foreach (var pg in vm.Pages) { pg.Layers.Clear(); } vm.Pages.Clear(); } if (cvMain.Children.Count > 0) { //foreach (var nc in cvMain.Children) { // if (nc is PageLayout) { // var ncpl = nc as PageLayout; // ncpl.PerformAction -= PageLayout_PerformAction; // } //} cvMain.Children.Clear(); } vm = null; } cvMainContainer.Content = null; cvMain.RenderTransform = null; cvMain = null; layoutRoot.Children.Remove(cvMainContainer); //cvMainContainer.Content = null; cvMainContainer = null; }
public void Load() { //changed to creating zcanvas by code rather than xaml, it was causing a memory leak cvMainContainer = new UI.ZoomCanvas.Canvas() { HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch, Background = new SolidColorBrush(Colors.White), RenderTransformOrigin = new Point(0, 0) }; cvMain = new Windows.UI.Xaml.Controls.Canvas() { HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch, Background = new SolidColorBrush(Colors.White), RenderTransformOrigin = new Point(0.5d, 0.5d) }; cvMain.RenderTransform = new CompositeTransform() { ScaleX = 1, ScaleY = 1, TranslateX = 0, TranslateY = 0 }; cvMainContainer.Content = cvMain; layoutRoot.Children.Insert(0, cvMainContainer); var ct = cvMain.RenderTransform as CompositeTransform; cvMainContainer.Scale = ct.ScaleX; }