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
- Italic.cs
- PropertyEmitter.cs
- SrgsElementList.cs
- TemplatedWizardStep.cs
- OdbcDataAdapter.cs
- DbProviderServices.cs
- EqualityComparer.cs
- SortQuery.cs
- UnsafeNativeMethods.cs
- XmlElementAttribute.cs
- HttpServerVarsCollection.cs
- MulticastIPAddressInformationCollection.cs
- ZipIOLocalFileBlock.cs
- CompiledRegexRunner.cs
- RadioButtonStandardAdapter.cs
- SoapIncludeAttribute.cs
- OleCmdHelper.cs
- ViewBox.cs
- ModelTreeEnumerator.cs
- Pair.cs
- SplitContainerDesigner.cs
- HTTPNotFoundHandler.cs
- DataGridViewDataErrorEventArgs.cs
- Cell.cs
- Unit.cs
- MetadataException.cs
- OleDbPropertySetGuid.cs
- TextBoxAutoCompleteSourceConverter.cs
- NumericUpDownAcceleration.cs
- BitArray.cs
- BinHexEncoding.cs
- ProtocolsConfigurationHandler.cs
- HtmlSelect.cs
- DragEvent.cs
- dataprotectionpermission.cs
- AttributeProviderAttribute.cs
- FontFamilyValueSerializer.cs
- EntityDataSourceSelectingEventArgs.cs
- ChangePassword.cs
- ContentPlaceHolder.cs
- AssertHelper.cs
- ActiveDocumentEvent.cs
- FixedBufferAttribute.cs
- SpeakCompletedEventArgs.cs
- Geometry.cs
- XmlUtil.cs
- StylusShape.cs
- BulletedListEventArgs.cs
- _AutoWebProxyScriptEngine.cs
- smtppermission.cs
- CustomAttributeFormatException.cs
- TextBox.cs
- MediaElementAutomationPeer.cs
- RangeEnumerable.cs
- AttributeCollection.cs
- NavigationHelper.cs
- DataSpaceManager.cs
- GeometryModel3D.cs
- OpenTypeLayoutCache.cs
- FormsAuthenticationUser.cs
- MLangCodePageEncoding.cs
- ElementInit.cs
- WindowsAltTab.cs
- PeerCollaborationPermission.cs
- DataGridViewCheckBoxColumn.cs
- WebInvokeAttribute.cs
- CultureTableRecord.cs
- SchemaCollectionCompiler.cs
- InputLanguageProfileNotifySink.cs
- SubpageParaClient.cs
- RequestBringIntoViewEventArgs.cs
- COM2Enum.cs
- PropertyDescriptorGridEntry.cs
- Selector.cs
- IgnoreFlushAndCloseStream.cs
- Range.cs
- UnicastIPAddressInformationCollection.cs
- AssociationSetEnd.cs
- ProfileSection.cs
- _TLSstream.cs
- RadioButtonList.cs
- WebControl.cs
- Point.cs
- StringHandle.cs
- SubMenuStyleCollection.cs
- InvalidChannelBindingException.cs
- LogicalExpr.cs
- DataGridCellInfo.cs
- NotifyInputEventArgs.cs
- DataList.cs
- DbParameterCollectionHelper.cs
- Point3DCollection.cs
- DesignerActionUI.cs
- PropertyEmitter.cs
- AppLevelCompilationSectionCache.cs
- SQLDouble.cs
- DefaultPropertyAttribute.cs
- FixedTextContainer.cs
- SecurityPolicySection.cs
- DropShadowBitmapEffect.cs