Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / ResourceReferenceExpressionConverter.cs / 1 / ResourceReferenceExpressionConverter.cs
//---------------------------------------------------------------------------- // // File: ResourceReferenceExpressionConverter.cs // // Description: // TypeConverter for a resource value expression // // Copyright (C) 2003 by Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.ComponentModel; using System.Globalization; using System.ComponentModel.Design.Serialization; using System.Diagnostics; using System.Windows; namespace System.Windows.Markup { ////// TypeConverter for a resource value expression /// public class ResourceReferenceExpressionConverter : ExpressionConverter { ////// TypeConverter method override. /// /// /// ITypeDescriptorContext /// /// /// Type to convert from /// ////// true if conversion is possible /// public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { return base.CanConvertFrom(context, sourceType); } ////// TypeConverter method override. /// ////// For avalon serialization this converter /// returns true for string types only if the /// target element with the resource /// dictionary for the current resource /// reference is also being serialized. Else /// it returns false and the serialization /// engine must serialize the evaluated /// value of the expression. /// /// /// ITypeDescriptorContext /// /// /// Type to convert to /// ////// true if conversion is possible /// public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { // Validate Input Arguments if (destinationType == null) { throw new ArgumentNullException("destinationType"); } //MarkupExtention if (destinationType == typeof(MarkupExtension)) return true; return base.CanConvertTo(context, destinationType); } ////// TypeConverter method implementation. /// /// /// ITypeDescriptorContext /// /// /// current culture (see CLR specs) /// /// /// value to convert from /// ////// value that is result of conversion /// public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { return base.ConvertFrom(context, culture, value); } ////// TypeConverter method implementation. /// /// /// ITypeDescriptorContext /// /// /// current culture (see CLR specs) /// /// /// value to convert from /// /// /// Type to convert to /// ////// converted value /// public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { // Validate Input Arguments ResourceReferenceExpression expr = value as ResourceReferenceExpression; if (expr == null) { throw new ArgumentException(SR.Get(SRID.MustBeOfType, "value", "ResourceReferenceExpression")); } if (destinationType == null) { throw new ArgumentNullException("destinationType"); } // MarkupExtension if (destinationType == typeof(MarkupExtension)) { return new DynamicResourceExtension(expr.ResourceKey); } 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. //---------------------------------------------------------------------------- // // File: ResourceReferenceExpressionConverter.cs // // Description: // TypeConverter for a resource value expression // // Copyright (C) 2003 by Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.ComponentModel; using System.Globalization; using System.ComponentModel.Design.Serialization; using System.Diagnostics; using System.Windows; namespace System.Windows.Markup { ////// TypeConverter for a resource value expression /// public class ResourceReferenceExpressionConverter : ExpressionConverter { ////// TypeConverter method override. /// /// /// ITypeDescriptorContext /// /// /// Type to convert from /// ////// true if conversion is possible /// public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { return base.CanConvertFrom(context, sourceType); } ////// TypeConverter method override. /// ////// For avalon serialization this converter /// returns true for string types only if the /// target element with the resource /// dictionary for the current resource /// reference is also being serialized. Else /// it returns false and the serialization /// engine must serialize the evaluated /// value of the expression. /// /// /// ITypeDescriptorContext /// /// /// Type to convert to /// ////// true if conversion is possible /// public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { // Validate Input Arguments if (destinationType == null) { throw new ArgumentNullException("destinationType"); } //MarkupExtention if (destinationType == typeof(MarkupExtension)) return true; return base.CanConvertTo(context, destinationType); } ////// TypeConverter method implementation. /// /// /// ITypeDescriptorContext /// /// /// current culture (see CLR specs) /// /// /// value to convert from /// ////// value that is result of conversion /// public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { return base.ConvertFrom(context, culture, value); } ////// TypeConverter method implementation. /// /// /// ITypeDescriptorContext /// /// /// current culture (see CLR specs) /// /// /// value to convert from /// /// /// Type to convert to /// ////// converted value /// public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { // Validate Input Arguments ResourceReferenceExpression expr = value as ResourceReferenceExpression; if (expr == null) { throw new ArgumentException(SR.Get(SRID.MustBeOfType, "value", "ResourceReferenceExpression")); } if (destinationType == null) { throw new ArgumentNullException("destinationType"); } // MarkupExtension if (destinationType == typeof(MarkupExtension)) { return new DynamicResourceExtension(expr.ResourceKey); } 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
- WriteTimeStream.cs
- LocalizationComments.cs
- Lasso.cs
- CaseStatementProjectedSlot.cs
- WebPartEditorApplyVerb.cs
- httpstaticobjectscollection.cs
- TextChange.cs
- StreamHelper.cs
- SvcMapFile.cs
- RelationshipConverter.cs
- FormsAuthenticationEventArgs.cs
- RelativeSource.cs
- Token.cs
- ToolStripItem.cs
- SharedPersonalizationStateInfo.cs
- BitStream.cs
- UserPersonalizationStateInfo.cs
- Psha1DerivedKeyGeneratorHelper.cs
- QueryExpression.cs
- GlyphsSerializer.cs
- UdpMessageProperty.cs
- Stylus.cs
- ConsoleTraceListener.cs
- Parameter.cs
- ToolboxBitmapAttribute.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- ComEventsHelper.cs
- HtmlForm.cs
- SynchronizationHandlesCodeDomSerializer.cs
- ReceiveCompletedEventArgs.cs
- JournalEntryListConverter.cs
- TransportContext.cs
- SafeRegistryHandle.cs
- ComponentCollection.cs
- ServiceDesigner.cs
- Pair.cs
- HintTextConverter.cs
- ApplicationSettingsBase.cs
- Grid.cs
- BreakRecordTable.cs
- EventPropertyMap.cs
- Errors.cs
- CheckoutException.cs
- QueryCursorEventArgs.cs
- EnumConverter.cs
- HyperLinkColumn.cs
- ServiceOperationViewControl.cs
- Point3DValueSerializer.cs
- PeerConnector.cs
- GuidelineSet.cs
- IdentityNotMappedException.cs
- AsymmetricAlgorithm.cs
- PersonalizationStateInfo.cs
- Connector.xaml.cs
- DataSourceControlBuilder.cs
- ManipulationVelocities.cs
- RecordManager.cs
- X509InitiatorCertificateServiceElement.cs
- RijndaelManagedTransform.cs
- IsolatedStorageFileStream.cs
- DateTimeOffset.cs
- WebPartManagerInternals.cs
- SQLString.cs
- CompilerState.cs
- DataTableCollection.cs
- WebPartManagerInternals.cs
- VisualStyleTypesAndProperties.cs
- StickyNote.cs
- ThemeInfoAttribute.cs
- ModifierKeysConverter.cs
- ExpandedWrapper.cs
- FixedElement.cs
- SqlDataSourceStatusEventArgs.cs
- ProxyWebPartManager.cs
- dbdatarecord.cs
- XPathPatternBuilder.cs
- ColumnPropertiesGroup.cs
- Binding.cs
- ActivityDesignerResources.cs
- UnmanagedMemoryStreamWrapper.cs
- IDQuery.cs
- IssuanceLicense.cs
- ContainerAction.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- InteropExecutor.cs
- ProfileBuildProvider.cs
- ExtractedStateEntry.cs
- DecimalKeyFrameCollection.cs
- DistinctQueryOperator.cs
- Encoding.cs
- BamlLocalizableResource.cs
- InheritablePropertyChangeInfo.cs
- SchemaElementLookUpTable.cs
- StringDictionaryWithComparer.cs
- VisualStyleTypesAndProperties.cs
- ToolStripArrowRenderEventArgs.cs
- ProxyWebPartManager.cs
- BitmapPalettes.cs
- RemotingServices.cs
- ShapeTypeface.cs