Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / Converters / ObjectToModelValueConverter.cs / 1305376 / ObjectToModelValueConverter.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation.Converters { using System.Diagnostics; using System.Globalization; using System.Windows.Data; using System.Activities.Presentation.Model; using System.Activities.Presentation.Internal.PropertyEditing.Model; //This value converter is used in propertygrid scenarios to convert an object into a ModelItem. //It converts from ModelPropertyEntry to ModelItem that owns the property //The first binding is a two way binding with the PropertyValue object //The second binding is a one way binding with the ModelPropertyEntry. public class ObjectToModelValueConverter : IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { ModelItem convertedValue = null; if (values[1] != null) { ModelPropertyEntry modelPropertyEntry = values[1] as ModelPropertyEntry; if (modelPropertyEntry != null) { ModelProperty property = modelPropertyEntry.FirstModelProperty; if (property != null) { convertedValue = property.Value; } } } return convertedValue; } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) { object[] returnValue = new object[]{null}; if(value != null) { returnValue[0] = ((ModelItem)value).GetCurrentValue(); } return returnValue; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation.Converters { using System.Diagnostics; using System.Globalization; using System.Windows.Data; using System.Activities.Presentation.Model; using System.Activities.Presentation.Internal.PropertyEditing.Model; //This value converter is used in propertygrid scenarios to convert an object into a ModelItem. //It converts from ModelPropertyEntry to ModelItem that owns the property //The first binding is a two way binding with the PropertyValue object //The second binding is a one way binding with the ModelPropertyEntry. public class ObjectToModelValueConverter : IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { ModelItem convertedValue = null; if (values[1] != null) { ModelPropertyEntry modelPropertyEntry = values[1] as ModelPropertyEntry; if (modelPropertyEntry != null) { ModelProperty property = modelPropertyEntry.FirstModelProperty; if (property != null) { convertedValue = property.Value; } } } return convertedValue; } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) { object[] returnValue = new object[]{null}; if(value != null) { returnValue[0] = ((ModelItem)value).GetCurrentValue(); } return returnValue; } } } // 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
- NetworkAddressChange.cs
- VisualTreeUtils.cs
- AutomationElement.cs
- SignedPkcs7.cs
- CompilationRelaxations.cs
- TextBlockAutomationPeer.cs
- HttpDebugHandler.cs
- WebReferencesBuildProvider.cs
- TreeNodeCollection.cs
- CachedBitmap.cs
- XmlObjectSerializerReadContext.cs
- WebConfigurationManager.cs
- Journal.cs
- TabletCollection.cs
- TemplateInstanceAttribute.cs
- QilFunction.cs
- WebFaultClientMessageInspector.cs
- JpegBitmapDecoder.cs
- PrivilegeNotHeldException.cs
- PropertyChangedEventArgs.cs
- NullRuntimeConfig.cs
- InternalPermissions.cs
- ToolBarOverflowPanel.cs
- Visual3D.cs
- TrackingStringDictionary.cs
- Connector.cs
- UnicastIPAddressInformationCollection.cs
- BlurBitmapEffect.cs
- PageRanges.cs
- ObjectMaterializedEventArgs.cs
- EdmProperty.cs
- SerializationException.cs
- ActivityTypeCodeDomSerializer.cs
- StylusButton.cs
- UdpReplyToBehavior.cs
- CodeGroup.cs
- FixedTextContainer.cs
- AutomationProperties.cs
- ListViewSortEventArgs.cs
- CustomActivityDesigner.cs
- SecurityTokenTypes.cs
- TraceProvider.cs
- FileUtil.cs
- TextTreeExtractElementUndoUnit.cs
- ModelPerspective.cs
- ToolStripSeparator.cs
- RichTextBoxAutomationPeer.cs
- SqlClientWrapperSmiStream.cs
- NotifyCollectionChangedEventArgs.cs
- XmlILOptimizerVisitor.cs
- BitmapSizeOptions.cs
- UpdatePanelTrigger.cs
- XPathDocumentNavigator.cs
- TreeNodeCollection.cs
- DesignerAdapterUtil.cs
- SiteMembershipCondition.cs
- CodeIdentifiers.cs
- PropertyEntry.cs
- QilFunction.cs
- ObjectPersistData.cs
- LinkTarget.cs
- MenuItemBindingCollection.cs
- SQLStringStorage.cs
- FixedPageAutomationPeer.cs
- TypeConstant.cs
- PathFigureCollection.cs
- EnvironmentPermission.cs
- SqlException.cs
- OdbcEnvironmentHandle.cs
- TransformedBitmap.cs
- BaseDataBoundControlDesigner.cs
- ThousandthOfEmRealPoints.cs
- MexServiceChannelBuilder.cs
- MetadataSource.cs
- IconHelper.cs
- Icon.cs
- OptimizedTemplateContent.cs
- ScrollEvent.cs
- Panel.cs
- QilGenerator.cs
- ValueHandle.cs
- MaskedTextProvider.cs
- ChannelBuilder.cs
- TouchPoint.cs
- GridSplitter.cs
- IdleTimeoutMonitor.cs
- ToolStripRenderEventArgs.cs
- SqlConnectionHelper.cs
- SessionPageStateSection.cs
- IndexedString.cs
- NamespaceEmitter.cs
- FormsAuthentication.cs
- UdpDuplexChannel.cs
- Input.cs
- FixedTextBuilder.cs
- HttpChannelHelper.cs
- RichTextBox.cs
- AttachedPropertyMethodSelector.cs
- InkCanvas.cs
- ListChangedEventArgs.cs