Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Input / InputScopeNameConverter.cs / 1 / InputScopeNameConverter.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: class for input scope type-converter // // Please refer to the design specfication [....]/Cicero/Specifications/Stylable%20InputScope.mht // // History: // 1/20/2005 : [....] - 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 /// ///[....]/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
- Rfc2898DeriveBytes.cs
- PolyLineSegment.cs
- OneOf.cs
- AttributeTable.cs
- InputGestureCollection.cs
- ContextMarshalException.cs
- InheritablePropertyChangeInfo.cs
- PerfCounters.cs
- StubHelpers.cs
- AppDomainShutdownMonitor.cs
- EncoderParameters.cs
- XmlNamespaceMappingCollection.cs
- QueryOpeningEnumerator.cs
- Stylus.cs
- InputLanguageManager.cs
- GlyphCache.cs
- HierarchicalDataTemplate.cs
- DWriteFactory.cs
- SqlDataAdapter.cs
- CompilerTypeWithParams.cs
- UIHelper.cs
- HitTestWithGeometryDrawingContextWalker.cs
- ToolStripRenderEventArgs.cs
- FixedSOMTable.cs
- DataSourceView.cs
- FontStretchConverter.cs
- WebPartTransformerAttribute.cs
- EditingMode.cs
- ImageCreator.cs
- BaseHashHelper.cs
- FlagPanel.cs
- Header.cs
- DefaultBindingPropertyAttribute.cs
- TypeInfo.cs
- StoreItemCollection.cs
- TabItem.cs
- InkCollectionBehavior.cs
- AutoGeneratedField.cs
- MemoryMappedViewAccessor.cs
- Bold.cs
- filewebrequest.cs
- ToolStripPanelCell.cs
- WmlLabelAdapter.cs
- OdbcConnectionOpen.cs
- SrgsRulesCollection.cs
- TemplateControlParser.cs
- LogAppendAsyncResult.cs
- RectValueSerializer.cs
- AssemblyInfo.cs
- OdbcHandle.cs
- EventSinkHelperWriter.cs
- NodeLabelEditEvent.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- FormViewModeEventArgs.cs
- COM2ExtendedUITypeEditor.cs
- CAGDesigner.cs
- DialogDivider.cs
- RichTextBox.cs
- XmlObjectSerializerWriteContext.cs
- MDIControlStrip.cs
- FileInfo.cs
- SSmlParser.cs
- NegatedCellConstant.cs
- TextServicesDisplayAttribute.cs
- SizeConverter.cs
- WebBrowserDocumentCompletedEventHandler.cs
- XPathDocumentIterator.cs
- NumericUpDownAcceleration.cs
- StylusPointPropertyInfo.cs
- NumberFunctions.cs
- AuthenticateEventArgs.cs
- ObjectSet.cs
- DbDataRecord.cs
- Stroke.cs
- SolidColorBrush.cs
- TemplatedAdorner.cs
- BindingContext.cs
- SvcMapFileLoader.cs
- IndexerNameAttribute.cs
- ObjectDataProvider.cs
- ListViewInsertEventArgs.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- ContainerCodeDomSerializer.cs
- HtmlLink.cs
- DataStorage.cs
- Command.cs
- GatewayDefinition.cs
- RelatedCurrencyManager.cs
- RSAOAEPKeyExchangeFormatter.cs
- FontStretchConverter.cs
- BooleanAnimationBase.cs
- UIPropertyMetadata.cs
- DES.cs
- ForwardPositionQuery.cs
- StaticResourceExtension.cs
- MatrixTransform3D.cs
- storagemappingitemcollection.viewdictionary.cs
- AccessorTable.cs
- documentsequencetextcontainer.cs
- FreezableOperations.cs