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
- basecomparevalidator.cs
- SmiXetterAccessMap.cs
- WindowsAuthenticationEventArgs.cs
- EllipticalNodeOperations.cs
- NavigatorOutput.cs
- DockPanel.cs
- TextServicesCompartmentEventSink.cs
- XmlSchemaSimpleContentExtension.cs
- ScaleTransform3D.cs
- SiteMapHierarchicalDataSourceView.cs
- ClientData.cs
- ScriptControl.cs
- SystemUnicastIPAddressInformation.cs
- StrongNameMembershipCondition.cs
- GridViewAutomationPeer.cs
- SystemIPv6InterfaceProperties.cs
- FillBehavior.cs
- ProxyAttribute.cs
- XamlWriter.cs
- MostlySingletonList.cs
- FormsAuthenticationCredentials.cs
- LinearQuaternionKeyFrame.cs
- APCustomTypeDescriptor.cs
- ScopedKnownTypes.cs
- CommonObjectSecurity.cs
- TableColumn.cs
- FloaterParaClient.cs
- ReferentialConstraint.cs
- DataGridViewColumn.cs
- VectorAnimationUsingKeyFrames.cs
- IFlowDocumentViewer.cs
- BindingCompleteEventArgs.cs
- SqlClientWrapperSmiStream.cs
- XmlElementAttributes.cs
- MasterPageParser.cs
- ErrorStyle.cs
- Accessors.cs
- OneWayElement.cs
- QueryAsyncResult.cs
- Pkcs7Recipient.cs
- GeneralTransform3D.cs
- CacheAxisQuery.cs
- ParenthesizePropertyNameAttribute.cs
- RegistryConfigurationProvider.cs
- FixedDocument.cs
- PerfCounters.cs
- Wizard.cs
- BitmapEditor.cs
- ValueUtilsSmi.cs
- ModuleBuilderData.cs
- ContentIterators.cs
- LastQueryOperator.cs
- TemplateContent.cs
- EdmItemCollection.cs
- __FastResourceComparer.cs
- InterleavedZipPartStream.cs
- BindingExpression.cs
- SchemaNamespaceManager.cs
- ReservationNotFoundException.cs
- fixedPageContentExtractor.cs
- SecurityTokenRequirement.cs
- ConfigurationSectionGroup.cs
- TreeIterator.cs
- TreeNode.cs
- EFAssociationProvider.cs
- NameValuePair.cs
- ToolStripContainer.cs
- LiteralTextContainerControlBuilder.cs
- XhtmlBasicPhoneCallAdapter.cs
- HostProtectionPermission.cs
- EntityReference.cs
- TypeGeneratedEventArgs.cs
- Variable.cs
- AddingNewEventArgs.cs
- ClientRuntimeConfig.cs
- RootNamespaceAttribute.cs
- Lease.cs
- XPathAncestorIterator.cs
- SqlClientWrapperSmiStreamChars.cs
- EngineSite.cs
- ConfigsHelper.cs
- ProxyHelper.cs
- OverlappedAsyncResult.cs
- WebPartConnectionCollection.cs
- CookieParameter.cs
- PartialTrustHelpers.cs
- CustomActivityDesigner.cs
- ConfigurationElement.cs
- TextRangeSerialization.cs
- EpmSourceTree.cs
- UDPClient.cs
- SQLMoneyStorage.cs
- PerformanceCounterCategory.cs
- ImmutableAssemblyCacheEntry.cs
- Parser.cs
- FixedPage.cs
- DBCSCodePageEncoding.cs
- BaseHashHelper.cs
- WebBrowserPermission.cs
- DeflateStream.cs