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
- ALinqExpressionVisitor.cs
- AutoGeneratedFieldProperties.cs
- VirtualPathData.cs
- FontFamily.cs
- MethodRental.cs
- DataShape.cs
- DetailsViewInsertEventArgs.cs
- RequestCachePolicy.cs
- TypedElement.cs
- Tokenizer.cs
- DatePickerAutomationPeer.cs
- ComponentResourceKey.cs
- FunctionImportElement.cs
- ObjectDataSourceMethodEventArgs.cs
- FilterInvalidBodyAccessException.cs
- FontInfo.cs
- WebPartPersonalization.cs
- PageThemeCodeDomTreeGenerator.cs
- ConnectionOrientedTransportChannelListener.cs
- SerializationInfoEnumerator.cs
- VScrollBar.cs
- SafeBuffer.cs
- EdmToObjectNamespaceMap.cs
- XPathAncestorIterator.cs
- HostTimeoutsElement.cs
- EarlyBoundInfo.cs
- JavaScriptString.cs
- SqlFormatter.cs
- TrackingMemoryStream.cs
- DataGridViewCellStyleEditor.cs
- CheckBoxAutomationPeer.cs
- UnsafeNativeMethods.cs
- HttpRequest.cs
- VBCodeProvider.cs
- TrustLevelCollection.cs
- MailMessageEventArgs.cs
- AggregateException.cs
- ArglessEventHandlerProxy.cs
- Schedule.cs
- WsatServiceAddress.cs
- ToolBarDesigner.cs
- BrowserCapabilitiesFactoryBase.cs
- HyperLinkStyle.cs
- SearchForVirtualItemEventArgs.cs
- LifetimeServices.cs
- AdRotator.cs
- DbDataReader.cs
- StringToken.cs
- XamlParser.cs
- UserNameSecurityToken.cs
- FontUnit.cs
- Int16KeyFrameCollection.cs
- BlockCollection.cs
- InheritanceRules.cs
- WsiProfilesElement.cs
- SspiWrapper.cs
- BitmapCacheBrush.cs
- ExtensionFile.cs
- SplineKeyFrames.cs
- ProjectionNode.cs
- ZoneLinkButton.cs
- PolyLineSegment.cs
- FrameDimension.cs
- ColorContextHelper.cs
- InstanceStoreQueryResult.cs
- BitmapEffectRenderDataResource.cs
- ExceptionTrace.cs
- XsdBuildProvider.cs
- GrowingArray.cs
- MonitorWrapper.cs
- DataServiceProcessingPipeline.cs
- IPPacketInformation.cs
- UdpAnnouncementEndpoint.cs
- SqlDataSourceConnectionPanel.cs
- DoubleAnimationUsingKeyFrames.cs
- Icon.cs
- followingquery.cs
- VarRemapper.cs
- WinEventQueueItem.cs
- MessageSecurityOverHttp.cs
- BitmapScalingModeValidation.cs
- SafeHandles.cs
- MultiAsyncResult.cs
- HwndHostAutomationPeer.cs
- SmiEventStream.cs
- MemberRelationshipService.cs
- DependencyPropertyValueSerializer.cs
- HttpWriter.cs
- TrustSection.cs
- ScriptReference.cs
- DocumentsTrace.cs
- ServiceProviders.cs
- MatrixAnimationBase.cs
- DropDownButton.cs
- XPathNodeHelper.cs
- EditorAttribute.cs
- TableParagraph.cs
- TextChange.cs
- HitTestWithGeometryDrawingContextWalker.cs
- SQLDouble.cs