Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XsltLoader.cs
- TraceListener.cs
- SrgsItemList.cs
- FormsAuthenticationEventArgs.cs
- ScriptingRoleServiceSection.cs
- StorageComplexTypeMapping.cs
- SoapElementAttribute.cs
- ChannelEndpointElementCollection.cs
- EdmRelationshipRoleAttribute.cs
- HwndSourceParameters.cs
- CapiHashAlgorithm.cs
- MruCache.cs
- DropSource.cs
- TreeViewImageIndexConverter.cs
- BooleanAnimationUsingKeyFrames.cs
- HttpAsyncResult.cs
- MethodAccessException.cs
- LinkConverter.cs
- EdmFunction.cs
- NavigationService.cs
- DoubleCollectionConverter.cs
- SqlExpressionNullability.cs
- EntityContainerRelationshipSetEnd.cs
- BasePattern.cs
- CellIdBoolean.cs
- DataBindEngine.cs
- OleServicesContext.cs
- View.cs
- WebAdminConfigurationHelper.cs
- CompilerErrorCollection.cs
- Debugger.cs
- GeneralTransformGroup.cs
- ReceiveMessageContent.cs
- FunctionDescription.cs
- OrderByBuilder.cs
- ForeignKeyFactory.cs
- PermissionSetEnumerator.cs
- DesignerExtenders.cs
- Internal.cs
- ArrayWithOffset.cs
- TaiwanLunisolarCalendar.cs
- WebPartConnectionsCloseVerb.cs
- EntityDataSourceChangedEventArgs.cs
- UpdatePanel.cs
- WebException.cs
- ActivityBindForm.cs
- Exception.cs
- SerializationHelper.cs
- TextSelectionProcessor.cs
- UniqueIdentifierService.cs
- Currency.cs
- WindowsGraphics2.cs
- DropDownButton.cs
- CroppedBitmap.cs
- IisTraceListener.cs
- ImageFormat.cs
- CategoryAttribute.cs
- FrameDimension.cs
- ObjectList.cs
- autovalidator.cs
- DropDownList.cs
- ColorTranslator.cs
- SByte.cs
- ParenthesizePropertyNameAttribute.cs
- HierarchicalDataSourceIDConverter.cs
- SmtpSection.cs
- SafeArchiveContext.cs
- MenuItemAutomationPeer.cs
- DispatchWrapper.cs
- WebPartUserCapability.cs
- ReferenceSchema.cs
- BufferBuilder.cs
- XmlBinaryWriter.cs
- FontInfo.cs
- NameTable.cs
- XmlNullResolver.cs
- infer.cs
- Paragraph.cs
- InstanceDataCollection.cs
- MappingException.cs
- ZoomPercentageConverter.cs
- RequestContextBase.cs
- BitmapMetadataBlob.cs
- Console.cs
- ValidationPropertyAttribute.cs
- ParseHttpDate.cs
- AttributeQuery.cs
- LineBreak.cs
- WindowProviderWrapper.cs
- ModelItem.cs
- MenuCommand.cs
- Utils.cs
- ParserContext.cs
- MediaPlayerState.cs
- Root.cs
- TextBox.cs
- PackagePart.cs
- SQLBinaryStorage.cs
- DataGridViewCellStyleChangedEventArgs.cs
- DisplayMemberTemplateSelector.cs