Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- View.cs
- RtfControlWordInfo.cs
- infer.cs
- CompoundFileIOPermission.cs
- TextFormatterImp.cs
- XmlByteStreamWriter.cs
- CallContext.cs
- MessageBox.cs
- PinnedBufferMemoryStream.cs
- PropertyDescriptor.cs
- XPathDocument.cs
- EventTrigger.cs
- ActiveDesignSurfaceEvent.cs
- CodeAccessPermission.cs
- StringComparer.cs
- Util.cs
- DataGridViewCellMouseEventArgs.cs
- PointConverter.cs
- IconBitmapDecoder.cs
- ThemeInfoAttribute.cs
- RawMouseInputReport.cs
- ReliableSessionBindingElement.cs
- TransformerTypeCollection.cs
- SelectedDatesCollection.cs
- TranslateTransform.cs
- TdsParser.cs
- DataSpaceManager.cs
- DateTimeFormatInfo.cs
- CornerRadius.cs
- CheckBoxBaseAdapter.cs
- ContainerActivationHelper.cs
- ScriptComponentDescriptor.cs
- AppSettingsReader.cs
- ZoomPercentageConverter.cs
- SrgsElement.cs
- DataSourceXmlSubItemAttribute.cs
- SqlParameterCollection.cs
- _Rfc2616CacheValidators.cs
- MetadataPropertyCollection.cs
- RtfControlWordInfo.cs
- PrimitiveOperationFormatter.cs
- RealProxy.cs
- ComPlusTypeValidator.cs
- CodeRegionDirective.cs
- HtmlElementEventArgs.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- VarRemapper.cs
- CopyCodeAction.cs
- TrackPointCollection.cs
- RuntimeResourceSet.cs
- GifBitmapDecoder.cs
- SwitchElementsCollection.cs
- WebHostScriptMappingsInstallComponent.cs
- BinaryObjectWriter.cs
- CodeAttributeDeclaration.cs
- TreeIterators.cs
- VoiceInfo.cs
- OSEnvironmentHelper.cs
- ShaderEffect.cs
- DatatypeImplementation.cs
- COMException.cs
- SqlSelectStatement.cs
- GetImportFileNameRequest.cs
- DataReaderContainer.cs
- MediaContext.cs
- CatchDesigner.xaml.cs
- RichTextBoxConstants.cs
- ListenerElementsCollection.cs
- PopupEventArgs.cs
- DispatcherOperation.cs
- UIElementPropertyUndoUnit.cs
- HwndHostAutomationPeer.cs
- ItemsPanelTemplate.cs
- HostedHttpTransportManager.cs
- StringKeyFrameCollection.cs
- WmlLinkAdapter.cs
- WebDescriptionAttribute.cs
- SoapExtensionTypeElement.cs
- IApplicationTrustManager.cs
- XmlSchemaInfo.cs
- ItemsControl.cs
- EmissiveMaterial.cs
- SafeCryptHandles.cs
- RecordBuilder.cs
- GraphicsContainer.cs
- _ListenerResponseStream.cs
- GridViewItemAutomationPeer.cs
- ResourceContainer.cs
- IteratorDescriptor.cs
- ServiceCredentialsElement.cs
- PlanCompilerUtil.cs
- XamlTypeMapper.cs
- DesignerLoader.cs
- AsymmetricAlgorithm.cs
- XamlTypeMapper.cs
- SvcMapFileLoader.cs
- DataMisalignedException.cs
- CacheRequest.cs
- StylusOverProperty.cs
- ExecutionEngineException.cs