Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / Markup / DependencyPropertyConverter.cs / 1 / DependencyPropertyConverter.cs
/****************************************************************************\ * * File: DependencyPropertyConverter.cs * * Class for converting a given DependencyProperty to and from a string * * Copyright (C) 2005 by Microsoft Corporation. All rights reserved. * \***************************************************************************/ using System; using System.ComponentModel; // for TypeConverter using System.Globalization; // for CultureInfo using System.Reflection; using MS.Utility; using MS.Internal; using System.Windows; using System.ComponentModel.Design.Serialization; using System.Windows.Documents; namespace System.Windows.Markup { ////// Class for converting a given DependencyProperty to and from a string /// public sealed class DependencyPropertyConverter : TypeConverter { #region Public Methods ////// CanConvertFrom() /// /// ITypeDescriptorContext /// type to convert from ///true if the given type can be converted, flase otherwise public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { // We can only convert from a string and that too only if we have all the contextual information // Note: Sometimes even the serializer calls CanConvertFrom in order // to determine if it is a valid converter to use for serialization. if (sourceType == typeof(string) && (context is TypeConvertContext)) { return true; } return false; } ////// TypeConverter method override. /// /// ITypeDescriptorContext /// Type to convert to ///true if conversion is possible public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { return false; } ////// ConvertFrom() -TypeConverter method override. using the givein name to return DependencyProperty /// /// ITypeDescriptorContext /// CultureInfo /// Object to convert from ///instance of Command public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object source) { TypeConvertContext typeConvertContext = context as TypeConvertContext; if (source is string && typeConvertContext != null) { ParserContext parserContext = typeConvertContext.ParserContext; // Find the ownerType from the parser context (this should be generalized, but for now // hard-coded to style & template) Type ownerType = null; ownerType = parserContext.TargetType; DependencyProperty dp = XamlTypeMapper.ParsePropertyName(parserContext, ((string)source).Trim(), ref ownerType); return dp; } throw GetConvertFromException(source); } ////// ConvertTo() - Serialization purposes, returns the string from Command.Name by adding ownerType.FullName /// /// ITypeDescriptorContext /// CultureInfo /// the object to convert from /// the type to convert to ///string object, if the destination type is string public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { throw GetConvertToException(value, destinationType); } #endregion Public Methods } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. /****************************************************************************\ * * File: DependencyPropertyConverter.cs * * Class for converting a given DependencyProperty to and from a string * * Copyright (C) 2005 by Microsoft Corporation. All rights reserved. * \***************************************************************************/ using System; using System.ComponentModel; // for TypeConverter using System.Globalization; // for CultureInfo using System.Reflection; using MS.Utility; using MS.Internal; using System.Windows; using System.ComponentModel.Design.Serialization; using System.Windows.Documents; namespace System.Windows.Markup { ////// Class for converting a given DependencyProperty to and from a string /// public sealed class DependencyPropertyConverter : TypeConverter { #region Public Methods ////// CanConvertFrom() /// /// ITypeDescriptorContext /// type to convert from ///true if the given type can be converted, flase otherwise public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { // We can only convert from a string and that too only if we have all the contextual information // Note: Sometimes even the serializer calls CanConvertFrom in order // to determine if it is a valid converter to use for serialization. if (sourceType == typeof(string) && (context is TypeConvertContext)) { return true; } return false; } ////// TypeConverter method override. /// /// ITypeDescriptorContext /// Type to convert to ///true if conversion is possible public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { return false; } ////// ConvertFrom() -TypeConverter method override. using the givein name to return DependencyProperty /// /// ITypeDescriptorContext /// CultureInfo /// Object to convert from ///instance of Command public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object source) { TypeConvertContext typeConvertContext = context as TypeConvertContext; if (source is string && typeConvertContext != null) { ParserContext parserContext = typeConvertContext.ParserContext; // Find the ownerType from the parser context (this should be generalized, but for now // hard-coded to style & template) Type ownerType = null; ownerType = parserContext.TargetType; DependencyProperty dp = XamlTypeMapper.ParsePropertyName(parserContext, ((string)source).Trim(), ref ownerType); return dp; } throw GetConvertFromException(source); } ////// ConvertTo() - Serialization purposes, returns the string from Command.Name by adding ownerType.FullName /// /// ITypeDescriptorContext /// CultureInfo /// the object to convert from /// the type to convert to ///string object, if the destination type is string public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { throw GetConvertToException(value, destinationType); } #endregion Public Methods } } // 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
- HebrewNumber.cs
- BaseParagraph.cs
- MessageBox.cs
- EventItfInfo.cs
- PolicyStatement.cs
- ResourceProviderFactory.cs
- TypedReference.cs
- CommittableTransaction.cs
- GenericPrincipal.cs
- HealthMonitoringSection.cs
- FileReservationCollection.cs
- XhtmlTextWriter.cs
- DataObjectSettingDataEventArgs.cs
- DBCommandBuilder.cs
- DesignerActionPropertyItem.cs
- DictionaryMarkupSerializer.cs
- controlskin.cs
- DynamicPhysicalDiscoSearcher.cs
- Vector3DAnimationBase.cs
- StateManagedCollection.cs
- CodeThrowExceptionStatement.cs
- ObfuscationAttribute.cs
- _SafeNetHandles.cs
- SourceFileBuildProvider.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- GestureRecognitionResult.cs
- RequestBringIntoViewEventArgs.cs
- Button.cs
- mediaeventargs.cs
- RecordConverter.cs
- ApplicationActivator.cs
- InstallerTypeAttribute.cs
- CatalogZoneAutoFormat.cs
- OleDbReferenceCollection.cs
- MenuRendererStandards.cs
- ConfigXmlWhitespace.cs
- DbParameterCollectionHelper.cs
- Collection.cs
- FileUtil.cs
- IsolatedStorageFilePermission.cs
- Primitive.cs
- SHA384CryptoServiceProvider.cs
- HtmlLinkAdapter.cs
- NativeMethods.cs
- MarkupObject.cs
- DbSetClause.cs
- Nodes.cs
- Light.cs
- StreamReader.cs
- ArithmeticException.cs
- ResourceDisplayNameAttribute.cs
- TableCellCollection.cs
- HotSpotCollection.cs
- SmiContext.cs
- SiteMapDesignerDataSourceView.cs
- CellParaClient.cs
- CryptoApi.cs
- _OSSOCK.cs
- CompilerWrapper.cs
- wmiprovider.cs
- SqlMethods.cs
- ListViewTableCell.cs
- DateRangeEvent.cs
- Triangle.cs
- XmlCharType.cs
- SchemaImporterExtensionElement.cs
- RepeatButtonAutomationPeer.cs
- DataGridViewAccessibleObject.cs
- GPRECTF.cs
- StringConverter.cs
- CatalogPartChrome.cs
- RelativeSource.cs
- GlobalAllocSafeHandle.cs
- Expr.cs
- ServicesUtilities.cs
- XmlSchemaAttributeGroupRef.cs
- DesignerTransactionCloseEvent.cs
- QuaternionConverter.cs
- DataRowChangeEvent.cs
- DesignerLabelAdapter.cs
- Number.cs
- EnterpriseServicesHelper.cs
- StringWriter.cs
- ConnectionManagementElementCollection.cs
- XmlDataProvider.cs
- SiteMapDesignerDataSourceView.cs
- DoubleCollection.cs
- HttpChannelFactory.cs
- HtmlInputImage.cs
- HtmlWindow.cs
- DoubleLink.cs
- _ListenerAsyncResult.cs
- SafeEventLogReadHandle.cs
- SecurityDescriptor.cs
- TraceContextEventArgs.cs
- MatrixIndependentAnimationStorage.cs
- PageAction.cs
- DomNameTable.cs
- ProviderSettingsCollection.cs
- WebConfigurationHost.cs