Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Base / System / Windows / DependencyPropertyValueSerializer.cs / 1 / DependencyPropertyValueSerializer.cs
//------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2005 // // File: CommandValueSerializer.cs // // Contents: ValueSerializer for DependencyProperty // // Created: 04/28/2005 [....] // //----------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Text; using System.Windows.Markup; namespace System.Windows { internal class DependencyPropertyValueSerializer : ValueSerializer { public override bool CanConvertToString(object value, IValueSerializerContext context) { return ValueSerializer.GetSerializerFor(typeof(Type), context) != null; } public override bool CanConvertFromString(string value, IValueSerializerContext context) { return ValueSerializer.GetSerializerFor(typeof(Type), context) != null; } public override string ConvertToString(object value, IValueSerializerContext context) { DependencyProperty property = value as DependencyProperty; if (property != null) { ValueSerializer typeSerializer = ValueSerializer.GetSerializerFor(typeof(Type), context); if (typeSerializer != null) { return typeSerializer.ConvertToString(property.OwnerType, context) + "." + property.Name; } } throw GetConvertToException(value, typeof(string)); } public override IEnumerableTypeReferences(object value, IValueSerializerContext context) { DependencyProperty property = value as DependencyProperty; if (property != null) { return new Type[] { property.OwnerType }; } else { return base.TypeReferences(value, context); } } public override object ConvertFromString(string value, IValueSerializerContext context) { ValueSerializer typeSerializer = ValueSerializer.GetSerializerFor(typeof(Type), context); if (typeSerializer != null) { int dotIndex = value.IndexOf('.'); if (dotIndex >= 0) { string typeName = value.Substring(0, dotIndex - 1); Type ownerType = typeSerializer.ConvertFromString(typeName, context) as Type; if (ownerType != null) { return DependencyProperty.FromName(typeName, ownerType); } } } throw GetConvertFromException(value); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2005 // // File: CommandValueSerializer.cs // // Contents: ValueSerializer for DependencyProperty // // Created: 04/28/2005 [....] // //----------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Text; using System.Windows.Markup; namespace System.Windows { internal class DependencyPropertyValueSerializer : ValueSerializer { public override bool CanConvertToString(object value, IValueSerializerContext context) { return ValueSerializer.GetSerializerFor(typeof(Type), context) != null; } public override bool CanConvertFromString(string value, IValueSerializerContext context) { return ValueSerializer.GetSerializerFor(typeof(Type), context) != null; } public override string ConvertToString(object value, IValueSerializerContext context) { DependencyProperty property = value as DependencyProperty; if (property != null) { ValueSerializer typeSerializer = ValueSerializer.GetSerializerFor(typeof(Type), context); if (typeSerializer != null) { return typeSerializer.ConvertToString(property.OwnerType, context) + "." + property.Name; } } throw GetConvertToException(value, typeof(string)); } public override IEnumerable TypeReferences(object value, IValueSerializerContext context) { DependencyProperty property = value as DependencyProperty; if (property != null) { return new Type[] { property.OwnerType }; } else { return base.TypeReferences(value, context); } } public override object ConvertFromString(string value, IValueSerializerContext context) { ValueSerializer typeSerializer = ValueSerializer.GetSerializerFor(typeof(Type), context); if (typeSerializer != null) { int dotIndex = value.IndexOf('.'); if (dotIndex >= 0) { string typeName = value.Substring(0, dotIndex - 1); Type ownerType = typeSerializer.ConvertFromString(typeName, context) as Type; if (ownerType != null) { return DependencyProperty.FromName(typeName, ownerType); } } } throw GetConvertFromException(value); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ContentType.cs
- DoubleConverter.cs
- pingexception.cs
- GlyphElement.cs
- SqlTransaction.cs
- FigureParagraph.cs
- PasswordBox.cs
- LoadRetryConstantStrategy.cs
- StringConverter.cs
- BoundField.cs
- ListSortDescription.cs
- PartialList.cs
- FixedDocumentPaginator.cs
- RemotingConfiguration.cs
- GeometryValueSerializer.cs
- RuleAttributes.cs
- DefaultHttpHandler.cs
- XPathParser.cs
- Propagator.JoinPropagator.cs
- IisTraceWebEventProvider.cs
- KeyGestureConverter.cs
- CharacterShapingProperties.cs
- ItemsPresenter.cs
- AutoResetEvent.cs
- ProtocolsSection.cs
- SettingsPropertyValue.cs
- CaseCqlBlock.cs
- MethodExecutor.cs
- ColorConvertedBitmap.cs
- NumericPagerField.cs
- CapabilitiesRule.cs
- CapabilitiesAssignment.cs
- DataSourceCache.cs
- SelectionItemProviderWrapper.cs
- CacheVirtualItemsEvent.cs
- PixelFormat.cs
- ExpressionNormalizer.cs
- PaperSource.cs
- TableLayoutColumnStyleCollection.cs
- LineMetrics.cs
- GeneralTransform3DGroup.cs
- ProvidePropertyAttribute.cs
- TextServicesHost.cs
- JpegBitmapEncoder.cs
- PointF.cs
- CompilerWrapper.cs
- BitmapCodecInfo.cs
- Vector3DAnimation.cs
- ResXDataNode.cs
- CngAlgorithm.cs
- SimpleType.cs
- RecognizeCompletedEventArgs.cs
- MobileUITypeEditor.cs
- FilterRepeater.cs
- BooleanAnimationBase.cs
- HMACSHA256.cs
- TakeQueryOptionExpression.cs
- FileDialogCustomPlace.cs
- Typeface.cs
- Oid.cs
- RoutedEvent.cs
- ITreeGenerator.cs
- XmlIlVisitor.cs
- XmlSchemaSimpleContentExtension.cs
- DateRangeEvent.cs
- AutomationEventArgs.cs
- TerminateDesigner.cs
- ObjectReaderCompiler.cs
- AsyncResult.cs
- ConsumerConnectionPointCollection.cs
- InternalTypeHelper.cs
- ListViewAutomationPeer.cs
- TypeSystem.cs
- LinearGradientBrush.cs
- DesignerLoader.cs
- ScriptManager.cs
- TabRenderer.cs
- httpstaticobjectscollection.cs
- TextBox.cs
- SqlDuplicator.cs
- JavaScriptString.cs
- MarkupCompilePass2.cs
- ExceptionCollection.cs
- FindCriteriaElement.cs
- ParseChildrenAsPropertiesAttribute.cs
- ResourcePool.cs
- XmlValueConverter.cs
- ToolStripControlHost.cs
- Marshal.cs
- MediaPlayer.cs
- MessageCredentialType.cs
- AttachInfo.cs
- _ContextAwareResult.cs
- CacheRequest.cs
- DependencyObjectPropertyDescriptor.cs
- ReverseQueryOperator.cs
- DivideByZeroException.cs
- ProcessModuleCollection.cs
- TrackingConditionCollection.cs
- Throw.cs