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
- CacheDependency.cs
- mongolianshape.cs
- TreeNodeStyleCollection.cs
- LineUtil.cs
- SqlTypeConverter.cs
- CodeEntryPointMethod.cs
- XMLDiffLoader.cs
- TypeValidationEventArgs.cs
- columnmapfactory.cs
- COM2PictureConverter.cs
- ToolStripSplitStackLayout.cs
- DispatcherOperation.cs
- TreeNodeBindingCollection.cs
- DataGridViewRowPostPaintEventArgs.cs
- DataGridItem.cs
- NavigationPropertyAccessor.cs
- HtmlMobileTextWriter.cs
- PassportPrincipal.cs
- XmlSchemaSet.cs
- Shape.cs
- HandlerFactoryCache.cs
- FunctionGenerator.cs
- MessageQueueAccessControlEntry.cs
- SiteOfOriginContainer.cs
- InternalCache.cs
- EnumConverter.cs
- LoginView.cs
- SocketInformation.cs
- FigureParaClient.cs
- MachineSettingsSection.cs
- XPathNode.cs
- CodeMemberEvent.cs
- BaseCollection.cs
- _LocalDataStore.cs
- CachedTypeface.cs
- ToolStripSystemRenderer.cs
- JsonReader.cs
- shaperfactoryquerycachekey.cs
- ValidationErrorCollection.cs
- PathFigureCollection.cs
- BinaryUtilClasses.cs
- HandledMouseEvent.cs
- ScrollBar.cs
- CodeComment.cs
- TextTreeRootNode.cs
- Byte.cs
- ConstructorBuilder.cs
- Imaging.cs
- StylusTouchDevice.cs
- ScaleTransform.cs
- ServiceRoute.cs
- AutoResetEvent.cs
- SemanticAnalyzer.cs
- FileCodeGroup.cs
- HandoffBehavior.cs
- WSSecurityXXX2005.cs
- PointCollectionValueSerializer.cs
- WrapPanel.cs
- DBPropSet.cs
- RemotingServices.cs
- ContextBase.cs
- TableItemStyle.cs
- SafeArrayRankMismatchException.cs
- SerTrace.cs
- CacheMemory.cs
- DifferencingCollection.cs
- MenuItemStyleCollection.cs
- StylusPointPropertyId.cs
- SqlBuffer.cs
- PerfCounters.cs
- SmiSettersStream.cs
- TracingConnection.cs
- DefaultObjectMappingItemCollection.cs
- HostedTransportConfigurationBase.cs
- DataControlFieldCollection.cs
- AbstractExpressions.cs
- XmlSchemaSequence.cs
- DropSource.cs
- GridViewHeaderRowPresenter.cs
- FloaterBaseParagraph.cs
- SafeFileMappingHandle.cs
- ResolveMatchesApril2005.cs
- FormsAuthenticationUser.cs
- PasswordValidationException.cs
- PackageDigitalSignature.cs
- __ComObject.cs
- TreeBuilderXamlTranslator.cs
- GenericEnumerator.cs
- WebConfigurationHostFileChange.cs
- ListBase.cs
- HtmlButton.cs
- WebPartActionVerb.cs
- PlatformCulture.cs
- cryptoapiTransform.cs
- ProviderSettingsCollection.cs
- XmlProcessingInstruction.cs
- PointLightBase.cs
- ByteStreamMessageEncoderFactory.cs
- WCFBuildProvider.cs
- XsltSettings.cs