Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- ButtonChrome.cs
- Baml2006SchemaContext.cs
- ListViewGroup.cs
- xsdvalidator.cs
- XmlToDatasetMap.cs
- WebBrowser.cs
- IntPtr.cs
- basemetadatamappingvisitor.cs
- DocumentReference.cs
- XPathDocumentIterator.cs
- ButtonBase.cs
- DataList.cs
- ModelFunctionTypeElement.cs
- IndexOutOfRangeException.cs
- WebBaseEventKeyComparer.cs
- ContentPosition.cs
- CapabilitiesState.cs
- OpenTypeCommon.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- SqlWebEventProvider.cs
- DescendentsWalker.cs
- PointHitTestParameters.cs
- ContainerFilterService.cs
- Hashtable.cs
- FastEncoder.cs
- DesignerSerializationManager.cs
- SqlPersonalizationProvider.cs
- QilScopedVisitor.cs
- CipherData.cs
- GeneralTransformCollection.cs
- WriteableOnDemandPackagePart.cs
- ArithmeticLiteral.cs
- StylusButtonCollection.cs
- CommandField.cs
- DesignOnlyAttribute.cs
- ZipFileInfoCollection.cs
- DataGridItemEventArgs.cs
- BaseDataBoundControl.cs
- EventProvider.cs
- ReadContentAsBinaryHelper.cs
- ExpandedWrapper.cs
- KerberosRequestorSecurityToken.cs
- PolyBezierSegment.cs
- UserInitiatedNavigationPermission.cs
- ExtensionElementCollection.cs
- DataServices.cs
- Geometry3D.cs
- ClientSideQueueItem.cs
- OpCellTreeNode.cs
- PropertyNames.cs
- IisTraceListener.cs
- Geometry.cs
- WebServiceClientProxyGenerator.cs
- StringConverter.cs
- ReaderWriterLock.cs
- ProxyAttribute.cs
- Adorner.cs
- GatewayDefinition.cs
- HandlerBase.cs
- InlineObject.cs
- TextBoxAutomationPeer.cs
- ColumnTypeConverter.cs
- InvokeMemberBinder.cs
- ITextView.cs
- BitmapEffectDrawing.cs
- ScriptResourceDefinition.cs
- PageAsyncTask.cs
- ImageMap.cs
- Compiler.cs
- Script.cs
- DocumentSequenceHighlightLayer.cs
- OleDbTransaction.cs
- ImplicitInputBrush.cs
- AllMembershipCondition.cs
- GlyphRunDrawing.cs
- RecordsAffectedEventArgs.cs
- ComEventsSink.cs
- ErrorView.xaml.cs
- DataGridColumn.cs
- StatusBarDrawItemEvent.cs
- Walker.cs
- PageBreakRecord.cs
- HtmlTableRowCollection.cs
- NavigationProperty.cs
- WebBrowserUriTypeConverter.cs
- Semaphore.cs
- SqlCommandBuilder.cs
- WeakReference.cs
- BitConverter.cs
- StreamResourceInfo.cs
- PropertyToken.cs
- DataControlFieldsEditor.cs
- NativeMethods.cs
- PropertyChangedEventManager.cs
- SafeSerializationManager.cs
- externdll.cs
- MailBnfHelper.cs
- EntityDataSourceContainerNameItem.cs
- XmlExceptionHelper.cs
- Sentence.cs