public static void TryCreateModel() { ModelWindow window = (ModelWindow)EditorWindow.GetWindow(typeof(ModelWindow), true, "模型建造选项", true); window.Show(); window.Init(); }
protected override ModelWindow CreateChildWindow(object parentViewModel, FrameworkElement contentView) { var win = new ModelWindow { Content = WrapContentView(contentView) }; win.SetResourceReference(ModelWindow.IconProperty, ResourceKeys.DialogIcon); return(win); }
private void BtnNew_Click(object sender, RoutedEventArgs e) { // AddCdWindow addCdWindow = new AddCdWindow(); // addCdWindow.ShowDialog(); ModelWindow addCdWindow = new ModelWindow( typeof(Cd), () => new Cd(), (cd) => _cds.Add((Cd)cd) ); addCdWindow.DisplayText = "Add/Create a new CD"; addCdWindow.ShowDialog(); LoadCds(); }
protected virtual void AddModelWindowToCache(object parentViewModel, ModelWindow window) { FrameworkElement parentView; if (parentViewModel is IShellViewModel) { parentView = Application.Current.MainWindow; } else { parentView = GetLatestOpeningWindow() .FindChild <UserControl>() .FirstOrDefault(c => c.DataContext == parentViewModel); } if (parentView == null) { throw new InstanceNotFoundException($"The view of {parentViewModel.GetType().FullName}"); } //Find IAddChild control and add itself in. var p = parentView.FindParent <Grid>(); if (p == null) { throw new InstanceNotFoundException("IAddChild control"); } Grid.SetRow(window, 0); Grid.SetColumn(window, 0); if (p.RowDefinitions.Count > 0) { Grid.SetRowSpan(window, p.RowDefinitions.Count); } if (p.ColumnDefinitions.Count > 0) { Grid.SetColumnSpan(window, p.ColumnDefinitions.Count); } ((IAddChild)p).AddChild(window); OpenedChildWindowCache.TryAdd(parentViewModel, window); }
/// <summary> /// Executes when capture button was hit. /// </summary> public void CaptureExecuted() { DepthImagePixel[] data = KinectService.GetDepthData(); if (_builder == null) { _builder = new ModelBuilder(ModelBuilder.GetModelSize(data, 640), CubeDivide, ModelDepth); } _builder.CheckVerticesInCube((int)CurrentRotation, data, KinectService.Kinect.DepthStream.NominalFocalLengthInPixels); CurrentRotation = CurrentRotation + RotationAngle; if (CurrentRotation == FullRotationAngle) { CurrentRotation = 0; var modelWindow = new ModelWindow(); modelWindow.DataContext = new ModelWindowViewModel(_builder.CreateModel()); modelWindow.Show(); } }
private void Exit() { ModelWindow.Close(); }