Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Input / InputScopeNameConverter.cs / 1305600 / InputScopeNameConverter.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: class for input scope type-converter // // Please refer to the design specfication http://avalon/Cicero/Specifications/Stylable%20InputScope.mht // // History: // 1/20/2005 : yutakan - created // //--------------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Windows.Input; using System.ComponentModel; using System.Globalization; using System.ComponentModel.Design.Serialization; namespace System.Windows.Input { ////// type-converter which performs type conversions for inputscope /// ///http://avalon/Cicero/Specifications/Stylable%20InputScope.mht public class InputScopeNameConverter : TypeConverter { ////// Returns whether this converter can convert an object of one type to InputScope type /// InputScopeConverter only supports string type to convert from /// /// /// The conversion context. /// /// /// The type to convert from. /// ////// True if conversion is possible, false otherwise. /// public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { // We can only handle string. if (sourceType == typeof(string)) { return true; } return false; } ////// Returns whether this converter can convert the object to the specified type. /// InputScopeConverter only supports string type to convert to /// /// /// The conversion context. /// /// /// The type to convert to. /// ////// True if conversion is possible, false otherwise. /// public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (typeof (string) == destinationType && null != context && null != context.Instance && context.Instance is InputScopeName) { return true; } return false; } ////// Converts the given value to InputScope type /// /// /// The conversion context. /// /// /// The current culture that applies to the conversion. /// /// /// The source object to convert from. /// ////// InputScope object with a specified scope name, otherwise InputScope with Default scope. /// public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object source) { string stringSource = source as string; InputScopeNameValue nameValue = InputScopeNameValue.Default; InputScopeName inputScopeName; if (null != stringSource) { stringSource = stringSource.Trim(); if (-1 != stringSource.LastIndexOf('.')) stringSource = stringSource.Substring(stringSource.LastIndexOf('.')+1); if (!stringSource.Equals(String.Empty)) { nameValue = (InputScopeNameValue)Enum.Parse(typeof(InputScopeNameValue), stringSource); } } inputScopeName = new InputScopeName(); inputScopeName.NameValue = nameValue; return inputScopeName; } ////// Converts the given value as InputScope object to the specified type. /// This converter only supports string type as a type to convert to. /// /// /// The conversion context. /// /// /// The current culture that applies to the conversion. /// /// /// The value to convert. /// /// /// The type to convert to. /// ////// A new object of the specified type (string) converted from the given InputScope object. /// public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { InputScopeName inputScopeName = value as InputScopeName; if (null != destinationType && null != inputScopeName) { if (destinationType == typeof(string)) { return Enum.GetName(typeof(InputScopeNameValue), inputScopeName.NameValue); } } return base.ConvertTo(context, culture, value, destinationType); } } } // 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
- PreservationFileWriter.cs
- WaitingCursor.cs
- DetailsViewPageEventArgs.cs
- XamlFigureLengthSerializer.cs
- unitconverter.cs
- LinkedList.cs
- HostProtectionPermission.cs
- HwndSourceParameters.cs
- XmlStreamStore.cs
- Clock.cs
- HostDesigntimeLicenseContext.cs
- TableRowCollection.cs
- SchemaAttDef.cs
- NonBatchDirectoryCompiler.cs
- XmlSortKeyAccumulator.cs
- PolicyManager.cs
- ParallelLoopState.cs
- ParamArrayAttribute.cs
- TypeConverter.cs
- storepermission.cs
- ReflectionHelper.cs
- WebPartConnectionsConnectVerb.cs
- FontNameConverter.cs
- IPipelineRuntime.cs
- ProxyDataContractResolver.cs
- ShellProvider.cs
- RMEnrollmentPage2.cs
- LocalFileSettingsProvider.cs
- ToolStripControlHost.cs
- DataServiceQuery.cs
- MissingSatelliteAssemblyException.cs
- CompositeScriptReferenceEventArgs.cs
- FileSystemInfo.cs
- MimeBasePart.cs
- CipherData.cs
- DrawingContext.cs
- DesignTimeTemplateParser.cs
- EncryptedPackage.cs
- CodeTypeDeclarationCollection.cs
- BuildDependencySet.cs
- SurrogateEncoder.cs
- CapabilitiesState.cs
- Annotation.cs
- XmlDocumentType.cs
- XmlQualifiedName.cs
- PolyLineSegmentFigureLogic.cs
- CreateUserErrorEventArgs.cs
- JsonServiceDocumentSerializer.cs
- FrameworkContextData.cs
- ThumbAutomationPeer.cs
- PKCS1MaskGenerationMethod.cs
- TrimSurroundingWhitespaceAttribute.cs
- ManagedWndProcTracker.cs
- WindowsSecurityToken.cs
- MarkedHighlightComponent.cs
- SingleResultAttribute.cs
- ClassicBorderDecorator.cs
- ArcSegment.cs
- CodeGotoStatement.cs
- HttpInputStream.cs
- OdbcUtils.cs
- MembershipUser.cs
- TextDecorationLocationValidation.cs
- ResourceDefaultValueAttribute.cs
- AdRotatorDesigner.cs
- EntityClassGenerator.cs
- DefaultWorkflowSchedulerService.cs
- CompoundFileReference.cs
- CommandField.cs
- FaultHandlingFilter.cs
- StandardOleMarshalObject.cs
- Command.cs
- webeventbuffer.cs
- AlphabeticalEnumConverter.cs
- Vector3dCollection.cs
- _SSPIWrapper.cs
- UpdateRecord.cs
- EntityConnectionStringBuilder.cs
- ProviderCommandInfoUtils.cs
- ProgressBar.cs
- ToolStripTextBox.cs
- BindableTemplateBuilder.cs
- ColumnWidthChangedEvent.cs
- PasswordTextNavigator.cs
- Point.cs
- ColorContext.cs
- CommonRemoteMemoryBlock.cs
- ContentElementAutomationPeer.cs
- ActivityPreviewDesigner.cs
- HandleCollector.cs
- SqlUtils.cs
- WebServiceMethodData.cs
- ThrowHelper.cs
- DecoratedNameAttribute.cs
- Regex.cs
- CurrencyManager.cs
- DisplayMemberTemplateSelector.cs
- TaskFormBase.cs
- CleanUpVirtualizedItemEventArgs.cs
- ProviderUtil.cs