Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PersistenceException.cs
- KeyboardNavigation.cs
- XmlElementAttribute.cs
- PropertyInformation.cs
- BmpBitmapEncoder.cs
- DataGridState.cs
- BoolExpr.cs
- DiscriminatorMap.cs
- StagingAreaInputItem.cs
- LineInfo.cs
- AudienceUriMode.cs
- securestring.cs
- Funcletizer.cs
- QueuePathEditor.cs
- TextEditor.cs
- ActivityCodeDomSerializer.cs
- ScopeCompiler.cs
- SettingsAttributeDictionary.cs
- RawStylusSystemGestureInputReport.cs
- Repeater.cs
- DataGridColumn.cs
- FindCriteria11.cs
- WebServicesDescriptionAttribute.cs
- HelpProvider.cs
- SspiWrapper.cs
- DragDropManager.cs
- WindowsUpDown.cs
- RuntimeHelpers.cs
- Highlights.cs
- XmlCharCheckingReader.cs
- StopStoryboard.cs
- datacache.cs
- SqlDependencyListener.cs
- _IPv4Address.cs
- MetafileHeader.cs
- ChannelRequirements.cs
- WsdlExporter.cs
- PackageRelationshipCollection.cs
- CompilerCollection.cs
- DbTransaction.cs
- Type.cs
- TextEditorSpelling.cs
- DataExpression.cs
- GlobalAllocSafeHandle.cs
- OdbcFactory.cs
- WindowsToolbarItemAsMenuItem.cs
- Ref.cs
- GeometryHitTestResult.cs
- TextBox.cs
- _FixedSizeReader.cs
- ExpressionQuoter.cs
- CurrencyWrapper.cs
- ValueQuery.cs
- StubHelpers.cs
- LicenseContext.cs
- OutOfProcStateClientManager.cs
- Debug.cs
- KeyValuePairs.cs
- FixedPageProcessor.cs
- X509Certificate2.cs
- SqlUtil.cs
- GlobalItem.cs
- shaperfactoryquerycacheentry.cs
- VectorAnimationUsingKeyFrames.cs
- EdmProperty.cs
- ProfileInfo.cs
- ValidatorCompatibilityHelper.cs
- SmiSettersStream.cs
- InvokeBase.cs
- Transform3DCollection.cs
- UserNameSecurityTokenParameters.cs
- BindMarkupExtensionSerializer.cs
- EdmType.cs
- SerializableAttribute.cs
- QueryExtender.cs
- EventProviderWriter.cs
- infer.cs
- XmlUtil.cs
- ListItemCollection.cs
- MatrixAnimationUsingKeyFrames.cs
- AppSettingsExpressionBuilder.cs
- DataGridViewLinkColumn.cs
- CultureInfo.cs
- DataColumnMappingCollection.cs
- CommandBinding.cs
- CoTaskMemUnicodeSafeHandle.cs
- DataGridTextBoxColumn.cs
- AppLevelCompilationSectionCache.cs
- Dispatcher.cs
- NewArrayExpression.cs
- OleAutBinder.cs
- Vector3DValueSerializer.cs
- PageScaling.cs
- CertificateReferenceElement.cs
- ContainerTracking.cs
- OpenFileDialog.cs
- TagMapCollection.cs
- XsdCachingReader.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- OracleLob.cs