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
- Html32TextWriter.cs
- ObjectFullSpanRewriter.cs
- FacetValueContainer.cs
- SerializationFieldInfo.cs
- SpotLight.cs
- RootProfilePropertySettingsCollection.cs
- DateTimeValueSerializer.cs
- IpcClientManager.cs
- ToolboxComponentsCreatingEventArgs.cs
- ServiceHostFactory.cs
- Helper.cs
- LinkDescriptor.cs
- CustomErrorCollection.cs
- TypeKeyValue.cs
- InfocardClientCredentials.cs
- PrintDialogDesigner.cs
- HitTestWithGeometryDrawingContextWalker.cs
- WindowsTokenRoleProvider.cs
- PrintEvent.cs
- DiagnosticTrace.cs
- NativeWindow.cs
- TemplateKeyConverter.cs
- TextRangeEdit.cs
- WebPartConnectionsCancelEventArgs.cs
- PreProcessInputEventArgs.cs
- ToolStripDropDownItemDesigner.cs
- HtmlProps.cs
- assertwrapper.cs
- Cursors.cs
- ProviderConnectionPoint.cs
- ColumnReorderedEventArgs.cs
- ContentValidator.cs
- HttpAsyncResult.cs
- ResXResourceSet.cs
- ClientClassGenerator.cs
- SqlBooleanizer.cs
- TreePrinter.cs
- DataBoundControl.cs
- GenericXmlSecurityToken.cs
- LinqDataSourceEditData.cs
- StringPropertyBuilder.cs
- FocusWithinProperty.cs
- TraceContextRecord.cs
- WindowsContainer.cs
- TypeInfo.cs
- StoreItemCollection.cs
- LabelAutomationPeer.cs
- QilUnary.cs
- WebPartDisplayModeCancelEventArgs.cs
- DataBoundControlHelper.cs
- RecordsAffectedEventArgs.cs
- AmbientLight.cs
- CheckBoxField.cs
- ObjectStateFormatter.cs
- UrlAuthorizationModule.cs
- DataTableTypeConverter.cs
- ToolStripContentPanel.cs
- CompositeDataBoundControl.cs
- XamlReaderHelper.cs
- SatelliteContractVersionAttribute.cs
- XamlTypeMapper.cs
- TextReturnReader.cs
- HtmlInputText.cs
- CancelEventArgs.cs
- MultipartContentParser.cs
- SimpleLine.cs
- ActiveXSite.cs
- MeasureData.cs
- Line.cs
- MimeParameterWriter.cs
- PrePostDescendentsWalker.cs
- ScriptingAuthenticationServiceSection.cs
- CodeFieldReferenceExpression.cs
- PromptEventArgs.cs
- String.cs
- ToolboxItemCollection.cs
- CollectionTypeElement.cs
- PersistenceTypeAttribute.cs
- ExpressionUtilities.cs
- ListChangedEventArgs.cs
- DocumentSchemaValidator.cs
- Identifier.cs
- EventMemberCodeDomSerializer.cs
- ValueProviderWrapper.cs
- ResourceManager.cs
- WebPartCancelEventArgs.cs
- ListViewUpdatedEventArgs.cs
- Style.cs
- ReadOnlyCollection.cs
- VirtualDirectoryMappingCollection.cs
- ErrorCodes.cs
- WindowsSysHeader.cs
- GeometryConverter.cs
- PointAnimationBase.cs
- OdbcReferenceCollection.cs
- SiteMap.cs
- WorkflowServiceBehavior.cs
- Atom10FormatterFactory.cs
- Encoder.cs
- CollectionBuilder.cs