public void ClosingDocumentOnWindowClosingShouldntThrow() { Window.Show(); DispatcherHelper.DoEvents(); BindingTestClass testClass = new BindingTestClass(); WindowedDocumentUIService service = CreateService(); Interaction.GetBehaviors(Window).Add(service); IDocumentManagerService iService = service; IDocument document = null; WindowedDocumentUIService.WindowDocument typedDocument = null; var content = new TestDocumentContent(); document = iService.CreateDocument("View1", content); typedDocument = (WindowedDocumentUIService.WindowDocument)document; document.Show(); DispatcherHelper.DoEvents(); Window window = typedDocument.Window.RealWindow; content.onClose = () => document.Close(); window.Close(); DispatcherHelper.DoEvents(); }
public void TwoWayBindingReadonlyProperty() { BindingTestClass testClass = new BindingTestClass(); WindowedDocumentUIService service = CreateService(); Interaction.GetBehaviors(Window).Add(service); IDocumentManagerService iService = service; BindingOperations.SetBinding(service, WindowedDocumentUIService.ActiveDocumentProperty, new Binding() { Path = new PropertyPath(BindingTestClass.ReadonlyActiveDocumentProperty), Source = testClass, Mode = BindingMode.Default }); }
public void TwoWayBinding() { EnqueueShowWindow(); BindingTestClass testClass = new BindingTestClass(); WindowedDocumentUIService service = CreateService(); Interaction.GetBehaviors(Window).Add(service); IDocumentManagerService iService = service; IDocument document1 = null; IDocument document2 = null; BindingOperations.SetBinding(service, WindowedDocumentUIService.ActiveDocumentProperty, new Binding() { Path = new PropertyPath(BindingTestClass.ActiveDocumentProperty), Source = testClass, Mode = BindingMode.Default }); EnqueueCallback(delegate { document1 = iService.CreateDocument("View1", ViewModelSource.Create(() => new UITestViewModel() { Title = "Title1", Parameter = 1 })); document1.Show(); DispatcherHelper.DoEvents(); document2 = iService.CreateDocument("View2", ViewModelSource.Create(() => new UITestViewModel() { Title = "Title2", Parameter = 2 })); document2.Show(); DispatcherHelper.DoEvents(); }); EnqueueWindowUpdateLayout(); EnqueueCallback(delegate { Assert.AreSame(document2, service.ActiveDocument); Assert.AreSame(document2, testClass.ActiveDocument); testClass.ActiveDocument = document1; DispatcherHelper.DoEvents(); Assert.AreSame(document1, service.ActiveDocument); }); EnqueueWindowUpdateLayout(); EnqueueTestComplete(); }