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
- QualifiedCellIdBoolean.cs
- Matrix.cs
- AtomEntry.cs
- QuaternionAnimationBase.cs
- TypeElement.cs
- LinkDescriptor.cs
- AlternationConverter.cs
- ZipFileInfoCollection.cs
- StringAttributeCollection.cs
- SimpleApplicationHost.cs
- StringArrayConverter.cs
- ActiveXHost.cs
- HandleCollector.cs
- SID.cs
- _FixedSizeReader.cs
- Message.cs
- EntityExpressionVisitor.cs
- BinaryFormatter.cs
- AssemblyAttributes.cs
- SqlInternalConnection.cs
- DbDataReader.cs
- SplitterCancelEvent.cs
- CodeMemberMethod.cs
- SelectionGlyphBase.cs
- AssemblyInfo.cs
- Constant.cs
- BlockCollection.cs
- PriorityItem.cs
- StringAnimationUsingKeyFrames.cs
- GridViewUpdatedEventArgs.cs
- EdmSchemaAttribute.cs
- IconHelper.cs
- SelectionRange.cs
- ValueTypeFixupInfo.cs
- ProjectionCamera.cs
- XmlEntity.cs
- ListBoxAutomationPeer.cs
- DataBindingExpressionBuilder.cs
- ConvertBinder.cs
- DataGridTableCollection.cs
- PackageRelationshipCollection.cs
- WebServiceEndpoint.cs
- InsufficientMemoryException.cs
- PrintController.cs
- HttpListenerException.cs
- WebResourceUtil.cs
- TabletDeviceInfo.cs
- ITextView.cs
- AudioLevelUpdatedEventArgs.cs
- HierarchicalDataSourceControl.cs
- ListViewSortEventArgs.cs
- RepeaterItemCollection.cs
- AuthenticationModuleElementCollection.cs
- HitTestParameters.cs
- RightsManagementInformation.cs
- PathFigureCollection.cs
- PointLight.cs
- GenericEnumerator.cs
- CookieProtection.cs
- BadImageFormatException.cs
- WorkflowApplicationCompletedException.cs
- PolyLineSegment.cs
- httpserverutility.cs
- AsyncOperationManager.cs
- Rotation3DKeyFrameCollection.cs
- ReadingWritingEntityEventArgs.cs
- MemberAssignment.cs
- XappLauncher.cs
- StructuredTypeEmitter.cs
- AbandonedMutexException.cs
- PeerEndPoint.cs
- StoreContentChangedEventArgs.cs
- Rectangle.cs
- RegisteredExpandoAttribute.cs
- SeverityFilter.cs
- EntityCommandDefinition.cs
- TableParaClient.cs
- TimeSpan.cs
- TypeDescriptionProviderAttribute.cs
- GenericTypeParameterBuilder.cs
- WebControlAdapter.cs
- webbrowsersite.cs
- Lease.cs
- RuleRefElement.cs
- DataProtection.cs
- DebuggerAttributes.cs
- ExeConfigurationFileMap.cs
- DataGridViewMethods.cs
- _TimerThread.cs
- MulticastDelegate.cs
- String.cs
- ProfileManager.cs
- HotSpotCollection.cs
- ObjectDataSourceChooseMethodsPanel.cs
- TimeoutValidationAttribute.cs
- WebServiceReceiveDesigner.cs
- ByeOperation11AsyncResult.cs
- RadioButtonRenderer.cs
- RemoteHelper.cs
- LayoutEngine.cs