Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / System / Windows / DependencyPropertyValueSerializer.cs / 1305600 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WrapPanel.cs
- Properties.cs
- ZipIOCentralDirectoryBlock.cs
- RNGCryptoServiceProvider.cs
- InputProviderSite.cs
- XhtmlBasicLinkAdapter.cs
- FixedTextContainer.cs
- TableLayoutColumnStyleCollection.cs
- DragDeltaEventArgs.cs
- CqlQuery.cs
- Propagator.cs
- DataSourceNameHandler.cs
- MenuItemStyle.cs
- Expressions.cs
- Random.cs
- DataRecordObjectView.cs
- TextTreeUndo.cs
- EnvelopedPkcs7.cs
- ContentFileHelper.cs
- DataComponentNameHandler.cs
- ImageField.cs
- InkPresenterAutomationPeer.cs
- CursorConverter.cs
- XsltInput.cs
- DynamicPropertyReader.cs
- DataControlFieldHeaderCell.cs
- StatusStrip.cs
- PerformanceCounterPermission.cs
- ClaimComparer.cs
- ParameterBuilder.cs
- QueryResults.cs
- PerformanceCountersElement.cs
- HttpFileCollection.cs
- BitmapFrameEncode.cs
- SchemaCollectionCompiler.cs
- CommandDevice.cs
- DataColumnPropertyDescriptor.cs
- EndPoint.cs
- CollectionViewProxy.cs
- _SpnDictionary.cs
- Point.cs
- BooleanFunctions.cs
- DataBinding.cs
- PolicyStatement.cs
- BooleanFacetDescriptionElement.cs
- WebPartConnectVerb.cs
- CreatingCookieEventArgs.cs
- XmlWrappingWriter.cs
- FontInfo.cs
- CookieParameter.cs
- PriorityRange.cs
- DateTimeFormat.cs
- IRCollection.cs
- Vector3D.cs
- WinFormsUtils.cs
- QilUnary.cs
- FigureParagraph.cs
- VideoDrawing.cs
- LayoutEditorPart.cs
- DataServiceEntityAttribute.cs
- SchemaImporterExtensionElement.cs
- ErrorInfoXmlDocument.cs
- BasicExpressionVisitor.cs
- GrammarBuilderBase.cs
- StatusBar.cs
- InvalidDataContractException.cs
- ContainerControl.cs
- RangeBaseAutomationPeer.cs
- PropertyInformation.cs
- RootAction.cs
- CleanUpVirtualizedItemEventArgs.cs
- XmlEncoding.cs
- ValueTypePropertyReference.cs
- TranslateTransform.cs
- PriorityItem.cs
- ContactManager.cs
- AuthenticationSection.cs
- DataRecordInternal.cs
- XhtmlBasicCalendarAdapter.cs
- TableAutomationPeer.cs
- UpdateTracker.cs
- ScriptResourceHandler.cs
- BaseCollection.cs
- DeploymentSectionCache.cs
- PrimarySelectionAdorner.cs
- CodeAccessSecurityEngine.cs
- ShutDownListener.cs
- HelpKeywordAttribute.cs
- XmlSchemaAnyAttribute.cs
- SwitchLevelAttribute.cs
- BuildProviderAppliesToAttribute.cs
- DataMemberFieldConverter.cs
- StylusPlugInCollection.cs
- CngProperty.cs
- MergeFilterQuery.cs
- BaseDataList.cs
- AssemblyCache.cs
- TableHeaderCell.cs
- BookmarkScope.cs
- HtmlTableRow.cs