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
- DesignerAttribute.cs
- UserControl.cs
- TrackingMemoryStreamFactory.cs
- Bits.cs
- TextProperties.cs
- EnumerableRowCollectionExtensions.cs
- ExeConfigurationFileMap.cs
- ByteAnimation.cs
- SerializationEventsCache.cs
- XPathDocumentBuilder.cs
- FixedStringLookup.cs
- SqlIdentifier.cs
- ObjectReferenceStack.cs
- UIElementIsland.cs
- BitmapEffectInput.cs
- WorkflowInstance.cs
- WebDescriptionAttribute.cs
- Membership.cs
- PropertyInfo.cs
- Wildcard.cs
- TextBox.cs
- FormView.cs
- NameTable.cs
- WebPartMenuStyle.cs
- DataReaderContainer.cs
- XmlWriter.cs
- ContentType.cs
- MSAAWinEventWrap.cs
- CheckableControlBaseAdapter.cs
- SQLCharsStorage.cs
- InkCanvasAutomationPeer.cs
- DisplayMemberTemplateSelector.cs
- SQlBooleanStorage.cs
- AutomationProperty.cs
- DefaultTextStoreTextComposition.cs
- CommonXSendMessage.cs
- XamlLoadErrorInfo.cs
- CannotUnloadAppDomainException.cs
- DocumentPageViewAutomationPeer.cs
- WorkflowApplicationEventArgs.cs
- Point.cs
- AssemblyAttributes.cs
- FileInfo.cs
- AbstractSvcMapFileLoader.cs
- SiteMembershipCondition.cs
- ImageKeyConverter.cs
- EntitySetBaseCollection.cs
- CodeChecksumPragma.cs
- PageContent.cs
- DynamicValueConverter.cs
- DoubleAnimationUsingKeyFrames.cs
- AsnEncodedData.cs
- NameValueSectionHandler.cs
- Encoder.cs
- PieceNameHelper.cs
- Separator.cs
- util.cs
- SQLGuid.cs
- MaskDescriptors.cs
- HWStack.cs
- DiscoveryClientDocuments.cs
- RouteUrlExpressionBuilder.cs
- StringFunctions.cs
- InvariantComparer.cs
- DocumentPageHost.cs
- CapabilitiesState.cs
- documentation.cs
- ButtonAutomationPeer.cs
- MsmqOutputChannel.cs
- SmtpMail.cs
- PartialCachingAttribute.cs
- SoapAttributes.cs
- GrabHandleGlyph.cs
- X509DefaultServiceCertificateElement.cs
- XmlSchemaInclude.cs
- DispatcherProcessingDisabled.cs
- ThreadStartException.cs
- SocketElement.cs
- FontStyleConverter.cs
- HandlerMappingMemo.cs
- XNameTypeConverter.cs
- SqlDataSourceEnumerator.cs
- ScrollChrome.cs
- SqlProviderServices.cs
- XmlCharCheckingReader.cs
- InvalidComObjectException.cs
- _KerberosClient.cs
- LogLogRecordEnumerator.cs
- Visual3D.cs
- SortQuery.cs
- AsymmetricKeyExchangeDeformatter.cs
- XmlAnyElementAttributes.cs
- HttpCacheVary.cs
- WorkflowPrinting.cs
- Propagator.JoinPropagator.SubstitutingCloneVisitor.cs
- WebPartEditorCancelVerb.cs
- DataSysAttribute.cs
- ShapeTypeface.cs
- ListViewInsertionMark.cs
- DataBinding.cs