Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / Model / PropertyChange.cs / 1305376 / PropertyChange.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation.Model { using System; using System.Collections.Generic; using System.Text; using System.Globalization; using System.Runtime; class PropertyChange : ModelChange { public ModelItem Owner { get; set; } public string PropertyName { get; set; } public ModelItem OldValue { get; set; } public ModelItem NewValue { get; set; } public ModelTreeManager ModelTreeManager { get; set; } public override string Description { get { return string.Format(CultureInfo.InvariantCulture, "{0} - {1}", SR.PropertyChangeEditingScopeDescription, this.PropertyName); } } public override bool Apply() { Fx.Assert(this.ModelTreeManager != null, "Modeltreemanager cannot be null"); Fx.Assert(this.Owner != null, "Owner modelitem cannot be null"); Fx.Assert(!String.IsNullOrEmpty(this.PropertyName), " property name cannot be null or emptry"); ModelPropertyImpl dataModelProperty = (ModelPropertyImpl)this.Owner.Properties[this.PropertyName]; ModelItem oldValue = dataModelProperty.Value; if ((oldValue == null && this.NewValue == null) || (oldValue != null && this.NewValue != null && oldValue.GetCurrentValue().Equals(this.NewValue.GetCurrentValue()))) { return false; } dataModelProperty.SetValueCore(this.NewValue); this.ModelTreeManager.NotifyPropertyChange(dataModelProperty); return true; } public override Change GetInverse() { return new PropertyChange() { ModelTreeManager = this.ModelTreeManager, Owner = this.Owner, OldValue = this.NewValue, NewValue = this.OldValue, PropertyName = this.PropertyName }; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation.Model { using System; using System.Collections.Generic; using System.Text; using System.Globalization; using System.Runtime; class PropertyChange : ModelChange { public ModelItem Owner { get; set; } public string PropertyName { get; set; } public ModelItem OldValue { get; set; } public ModelItem NewValue { get; set; } public ModelTreeManager ModelTreeManager { get; set; } public override string Description { get { return string.Format(CultureInfo.InvariantCulture, "{0} - {1}", SR.PropertyChangeEditingScopeDescription, this.PropertyName); } } public override bool Apply() { Fx.Assert(this.ModelTreeManager != null, "Modeltreemanager cannot be null"); Fx.Assert(this.Owner != null, "Owner modelitem cannot be null"); Fx.Assert(!String.IsNullOrEmpty(this.PropertyName), " property name cannot be null or emptry"); ModelPropertyImpl dataModelProperty = (ModelPropertyImpl)this.Owner.Properties[this.PropertyName]; ModelItem oldValue = dataModelProperty.Value; if ((oldValue == null && this.NewValue == null) || (oldValue != null && this.NewValue != null && oldValue.GetCurrentValue().Equals(this.NewValue.GetCurrentValue()))) { return false; } dataModelProperty.SetValueCore(this.NewValue); this.ModelTreeManager.NotifyPropertyChange(dataModelProperty); return true; } public override Change GetInverse() { return new PropertyChange() { ModelTreeManager = this.ModelTreeManager, Owner = this.Owner, OldValue = this.NewValue, NewValue = this.OldValue, PropertyName = this.PropertyName }; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CompilationRelaxations.cs
- Selector.cs
- XmlDocumentFieldSchema.cs
- StylusPointPropertyUnit.cs
- SafePointer.cs
- EditorPartCollection.cs
- HttpCookieCollection.cs
- TextEffect.cs
- HttpHandlerActionCollection.cs
- EntityException.cs
- ObjectAnimationBase.cs
- CryptoStream.cs
- InternalTypeHelper.cs
- IDictionary.cs
- CodeCommentStatement.cs
- UserPreferenceChangingEventArgs.cs
- XsltFunctions.cs
- SystemIPv4InterfaceProperties.cs
- ToolboxCategoryItems.cs
- CapabilitiesRule.cs
- SerializerWriterEventHandlers.cs
- CopyNodeSetAction.cs
- ValidationErrorCollection.cs
- FieldToken.cs
- FileDialog_Vista_Interop.cs
- BuildProviderCollection.cs
- ProfileSettings.cs
- GraphicsContainer.cs
- WindowsAltTab.cs
- XmlValidatingReader.cs
- MobileTemplatedControlDesigner.cs
- _OverlappedAsyncResult.cs
- AccessDataSourceWizardForm.cs
- ADMembershipProvider.cs
- IdentityHolder.cs
- DetectRunnableInstancesTask.cs
- SplineQuaternionKeyFrame.cs
- DatatypeImplementation.cs
- NamespaceInfo.cs
- HttpModuleAction.cs
- SafeFileMappingHandle.cs
- WmlListAdapter.cs
- JsonQueryStringConverter.cs
- StandardRuntimeEnumValidatorAttribute.cs
- TypeNameConverter.cs
- CustomAttributeSerializer.cs
- XPathMessageFilterElement.cs
- ApplicationProxyInternal.cs
- MenuCommand.cs
- HttpListenerTimeoutManager.cs
- SamlAdvice.cs
- LessThan.cs
- LayoutUtils.cs
- Util.cs
- IgnoreSection.cs
- DragEventArgs.cs
- IssuerInformation.cs
- XmlLinkedNode.cs
- ByteAnimationBase.cs
- SourceFileBuildProvider.cs
- PingReply.cs
- DurableInstanceContextProvider.cs
- ProjectedWrapper.cs
- PageAsyncTaskManager.cs
- PickDesigner.xaml.cs
- DmlSqlGenerator.cs
- CommonGetThemePartSize.cs
- VectorCollectionConverter.cs
- DetailsViewCommandEventArgs.cs
- Main.cs
- IPAddressCollection.cs
- CustomTokenProvider.cs
- CommonObjectSecurity.cs
- Connector.cs
- RegexNode.cs
- EventMappingSettings.cs
- PerformanceCounterPermissionAttribute.cs
- PresentationTraceSources.cs
- IncrementalCompileAnalyzer.cs
- BitmapEffectrendercontext.cs
- _NTAuthentication.cs
- ControlType.cs
- DeclarativeCatalogPart.cs
- SafeNativeMethods.cs
- Pair.cs
- MD5Cng.cs
- SqlDelegatedTransaction.cs
- FlowDocumentPage.cs
- RotateTransform3D.cs
- HttpRequestCacheValidator.cs
- WorkflowDurableInstance.cs
- AppDomainCompilerProxy.cs
- SqlWebEventProvider.cs
- HtmlTableCell.cs
- DbCommandDefinition.cs
- ImplicitInputBrush.cs
- PolicyChain.cs
- CalendarKeyboardHelper.cs
- ToolTip.cs
- datacache.cs