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
- COAUTHIDENTITY.cs
- HealthMonitoringSection.cs
- SynchronousReceiveBehavior.cs
- SchemaCollectionPreprocessor.cs
- FontDifferentiator.cs
- AlternateView.cs
- ErrorRuntimeConfig.cs
- TreePrinter.cs
- ObjectDataProvider.cs
- sortedlist.cs
- PathFigure.cs
- TransformPattern.cs
- IgnoreSectionHandler.cs
- DictionaryItemsCollection.cs
- DateTimeValueSerializerContext.cs
- SerializationObjectManager.cs
- HealthMonitoringSectionHelper.cs
- XsltFunctions.cs
- WmfPlaceableFileHeader.cs
- DisposableCollectionWrapper.cs
- ListCollectionView.cs
- CaseCqlBlock.cs
- CookieParameter.cs
- EncoderFallback.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- TimeoutValidationAttribute.cs
- HtmlTableRow.cs
- DomainConstraint.cs
- XamlDesignerSerializationManager.cs
- newinstructionaction.cs
- SimpleRecyclingCache.cs
- FormsAuthenticationConfiguration.cs
- FontWeightConverter.cs
- HttpCachePolicyWrapper.cs
- Profiler.cs
- LinkUtilities.cs
- CustomTypeDescriptor.cs
- QueryOperator.cs
- EdmRelationshipRoleAttribute.cs
- WindowsFormsSynchronizationContext.cs
- XamlRtfConverter.cs
- ResourceType.cs
- DocumentManager.cs
- HtmlShimManager.cs
- ReverseInheritProperty.cs
- altserialization.cs
- SiteMapDataSource.cs
- ListViewDeleteEventArgs.cs
- BuildManager.cs
- GenerateTemporaryTargetAssembly.cs
- CultureInfo.cs
- ObjectStateFormatter.cs
- UnsafeNativeMethods.cs
- CodeTypeDeclarationCollection.cs
- ThemeDictionaryExtension.cs
- Axis.cs
- TraceContextEventArgs.cs
- RawMouseInputReport.cs
- TemplateBuilder.cs
- TableRowCollection.cs
- XmlAnyAttributeAttribute.cs
- FormDesigner.cs
- QilBinary.cs
- WorkflowRuntime.cs
- XhtmlBasicLinkAdapter.cs
- TextTreeRootNode.cs
- PriorityChain.cs
- WebUtil.cs
- Missing.cs
- ErrorFormatterPage.cs
- SmtpReplyReaderFactory.cs
- FormViewInsertEventArgs.cs
- LinqDataView.cs
- BoolExpression.cs
- QueryHandler.cs
- OdbcCommandBuilder.cs
- AssemblyNameUtility.cs
- SQLSingle.cs
- HwndHostAutomationPeer.cs
- ServiceModelSecurityTokenTypes.cs
- GridViewUpdatedEventArgs.cs
- XamlStream.cs
- TemplatePagerField.cs
- ProcessProtocolHandler.cs
- DeclarativeCatalogPart.cs
- SequenceNumber.cs
- Int64AnimationUsingKeyFrames.cs
- ArgumentFixer.cs
- SendDesigner.xaml.cs
- Random.cs
- XmlSchemaValidationException.cs
- DesignerDataTable.cs
- PackagePartCollection.cs
- XmlEncoding.cs
- PasswordBox.cs
- EncoderBestFitFallback.cs
- XmlnsCache.cs
- DataSourceView.cs
- HtmlAnchor.cs
- HttpResponseHeader.cs