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
- GC.cs
- SpecialFolderEnumConverter.cs
- PolicyException.cs
- SqlMethodAttribute.cs
- GuidelineSet.cs
- TableHeaderCell.cs
- DBConcurrencyException.cs
- PeerApplicationLaunchInfo.cs
- ProcessInfo.cs
- EditingCommands.cs
- BitmapFrameEncode.cs
- PreservationFileReader.cs
- PrintPreviewControl.cs
- LoadGrammarCompletedEventArgs.cs
- BindingsCollection.cs
- TextRangeSerialization.cs
- WebColorConverter.cs
- KoreanLunisolarCalendar.cs
- TransactionFlowAttribute.cs
- DecoderNLS.cs
- XamlHostingSection.cs
- DataGridTable.cs
- TextEndOfSegment.cs
- SamlAdvice.cs
- EnumBuilder.cs
- ObjectDataSourceMethodEventArgs.cs
- CriticalFinalizerObject.cs
- BitSet.cs
- ClientSection.cs
- FileDataSourceCache.cs
- TableHeaderCell.cs
- ClientBuildManagerCallback.cs
- MethodCallConverter.cs
- ScriptControlDescriptor.cs
- UniqueSet.cs
- LocalFileSettingsProvider.cs
- PictureBoxDesigner.cs
- HtmlPageAdapter.cs
- _CacheStreams.cs
- EventHandlerList.cs
- ObjectIDGenerator.cs
- Validator.cs
- MetadataItem_Static.cs
- FrameworkElement.cs
- oledbmetadatacollectionnames.cs
- ClockGroup.cs
- SimpleHandlerBuildProvider.cs
- DirectoryNotFoundException.cs
- ThemeableAttribute.cs
- ActivityExecutionContextCollection.cs
- BufferAllocator.cs
- GuidelineCollection.cs
- RequestStatusBarUpdateEventArgs.cs
- StatusBar.cs
- HtmlElementEventArgs.cs
- ResourceProviderFactory.cs
- WebBrowserUriTypeConverter.cs
- ChannelToken.cs
- PointIndependentAnimationStorage.cs
- DataPager.cs
- DataGridViewRowsAddedEventArgs.cs
- TextCharacters.cs
- Substitution.cs
- CollectionView.cs
- BamlLocalizableResourceKey.cs
- XmlSchemaSubstitutionGroup.cs
- PackageRelationship.cs
- DBSchemaTable.cs
- GridViewRowCollection.cs
- GridViewDeletedEventArgs.cs
- ICspAsymmetricAlgorithm.cs
- EmptyQuery.cs
- ClientSponsor.cs
- DataSysAttribute.cs
- XamlSerializer.cs
- KeyInfo.cs
- cryptoapiTransform.cs
- IResourceProvider.cs
- IisTraceListener.cs
- Region.cs
- RIPEMD160.cs
- DateTimeOffset.cs
- SqlRowUpdatedEvent.cs
- DataGridView.cs
- RemoteX509Token.cs
- ZipIOBlockManager.cs
- XamlSerializer.cs
- ButtonRenderer.cs
- ProgressBar.cs
- SpecularMaterial.cs
- HttpProfileGroupBase.cs
- DbConnectionClosed.cs
- RelationshipSet.cs
- WindowInteropHelper.cs
- DocumentCollection.cs
- MatrixAnimationBase.cs
- SolidBrush.cs
- AssociationSet.cs
- BaseParagraph.cs
- PatternMatchRules.cs