Inheritance: ViewModelBase
コード例 #1
0
        private async void LoadSketch(int sketchId)
        {
      
            var foundS = StorageService.Instance.Storage.RetrieveById<SketchDataModel>(sketchId);
            if (foundS != null && foundS.Count() > 0)
            {
                var fs = foundS.First();
                var foundSP = StorageService.Instance.Storage.RetrieveByField<SketchPageDataModel>("SketchId", fs.Id.ToString());
                if (foundSP != null && foundSP.Count() > 0)
                {
                    foreach (var fsp in foundSP)
                    {
                        var pg = new SketchPage() { Title = fsp.Title, Width = (int)fsp.Width, Height = (int)fsp.Height, Top = (int)fsp.Top, Left = (int)fsp.Left };

                        var foundSPL = StorageService.Instance.Storage.RetrieveByField<SketchPageLayerDataModel>("SketchPageId", fsp.Id.ToString());
                        if (foundSPL != null && foundSPL.Count() > 0)
                        {
                            foreach (var fspl in foundSPL)
                            {
                                var pl = new PageLayer() { PersistedId = fspl.Id, HasChildContainerCanvas = fspl.HasChildContainerCanvas };

                                //add xamlfrags
                                var foundSPLXF = StorageService.Instance.Storage.RetrieveByField<SketchPageLayerXamlFragmentDataModel>("SketchPageLayerId", fspl.Id.ToString());
                                if (foundSPLXF != null && foundSPLXF.Count() > 0)
                                {
                                    foreach (var fsplxf in foundSPLXF)
                                    {
                                        var dt = string.IsNullOrEmpty(fsplxf.DataType) ? null : Type.GetType(fsplxf.DataType);
                                        var xf = new XamlFragment() { Uid = fsplxf.Uid, Xaml = fsplxf.Xaml, Data = fsplxf.Data, Type = dt };
                                        pl.XamlFragments.Add(xf);
                                    }
                                }

                                pg.Layers.Add(pl);

                            }

                        }

                        var nc = new Controls.PageLayout() { DataContext = pg, Width = pg.Width, Height = pg.Height };
                        nc.SetValue(Windows.UI.Xaml.Controls.Canvas.LeftProperty, pg.Left);
                        nc.SetValue(Windows.UI.Xaml.Controls.Canvas.TopProperty, pg.Top);
                        nc.PerformAction += PageLayout_PerformAction;
                        cvMain.Children.Add(nc);

                        vm.Pages.Add(pg);


                        //// add xaml frags
                        //foreach (var pl in pg.Layers)
                        //{
                        //    var foundSPLXF = StorageService.Instance.Storage.RetrieveByField<SketchPageLayerXamlFragmentDataModel>("SketchPageLayerId", pl.PersistedId.ToString());
                        //    if (foundSPLXF != null && foundSPLXF.Count() > 0)
                        //    {
                        //        foreach (var fsplxf in foundSPLXF)
                        //        {
                        //            var dt =  string.IsNullOrEmpty(fsplxf.DataType) ? null: Type.GetType(fsplxf.DataType);
                        //            var xf = new XamlFragment() { Uid = fsplxf.Uid, Xaml = fsplxf.Xaml, Data = fsplxf.Data, Type = dt };
                        //            pl.XamlFragments.Add(xf);
                        //        }
                        //    }
                        //    pl.ExternalPC("Layers");
                        //}
                    }
                }

             
                //    foreach (var pgg in vm.Pages)
                //    {
                //        pgg.ExternalPC("Layers");
                //    }
            }



        }
コード例 #2
0
        private async void LoadSketch(int sketchId)
        {
            var foundS = StorageService.Instance.Storage.RetrieveById <SketchDataModel>(sketchId);

            if (foundS != null && foundS.Count() > 0)
            {
                var fs      = foundS.First();
                var foundSP = StorageService.Instance.Storage.RetrieveByField <SketchPageDataModel>("SketchId", fs.Id.ToString());
                if (foundSP != null && foundSP.Count() > 0)
                {
                    foreach (var fsp in foundSP)
                    {
                        var pg = new SketchPage(false)
                        {
                            Title = fsp.Title, Width = (int)fsp.Width, Height = (int)fsp.Height, Top = (int)fsp.Top, Left = (int)fsp.Left
                        };

                        var foundSPL = StorageService.Instance.Storage.RetrieveByField <SketchPageLayerDataModel>("SketchPageId", fsp.Id.ToString());
                        if (foundSPL != null && foundSPL.Count() > 0)
                        {
                            foreach (var fspl in foundSPL)
                            {
                                var pl = new PageLayer()
                                {
                                    PersistedId = fspl.Id, HasChildContainerCanvas = fspl.HasChildContainerCanvas
                                };

                                //add xamlfrags
                                var foundSPLXF = StorageService.Instance.Storage.RetrieveByField <SketchPageLayerXamlFragmentDataModel>("SketchPageLayerId", fspl.Id.ToString());
                                if (foundSPLXF != null && foundSPLXF.Count() > 0)
                                {
                                    foreach (var fsplxf in foundSPLXF)
                                    {
                                        var dt = string.IsNullOrEmpty(fsplxf.DataType) ? null : Type.GetType(fsplxf.DataType);
                                        var xf = new XamlFragment()
                                        {
                                            Uid = fsplxf.Uid, Xaml = fsplxf.Xaml, Data = fsplxf.Data, Type = dt
                                        };
                                        pl.XamlFragments.Add(xf);
                                    }
                                }

                                pg.Layers.Add(pl);
                            }
                        }

                        var nc = new Controls.PageLayout()
                        {
                            DataContext = pg, Width = pg.Width, Height = pg.Height
                        };
                        nc.SetValue(Windows.UI.Xaml.Controls.Canvas.LeftProperty, pg.Left);
                        nc.SetValue(Windows.UI.Xaml.Controls.Canvas.TopProperty, pg.Top);
                        nc.PerformAction += PageLayout_PerformAction;
                        cvMain.Children.Add(nc);

                        vm.Pages.Add(pg);


                        //// add xaml frags
                        //foreach (var pl in pg.Layers)
                        //{
                        //    var foundSPLXF = StorageService.Instance.Storage.RetrieveByField<SketchPageLayerXamlFragmentDataModel>("SketchPageLayerId", pl.PersistedId.ToString());
                        //    if (foundSPLXF != null && foundSPLXF.Count() > 0)
                        //    {
                        //        foreach (var fsplxf in foundSPLXF)
                        //        {
                        //            var dt =  string.IsNullOrEmpty(fsplxf.DataType) ? null: Type.GetType(fsplxf.DataType);
                        //            var xf = new XamlFragment() { Uid = fsplxf.Uid, Xaml = fsplxf.Xaml, Data = fsplxf.Data, Type = dt };
                        //            pl.XamlFragments.Add(xf);
                        //        }
                        //    }
                        //    pl.ExternalPC("Layers");
                        //}
                    }
                }


                //    foreach (var pgg in vm.Pages)
                //    {
                //        pgg.ExternalPC("Layers");
                //    }
            }
        }