Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / ResourceReferenceExpressionConverter.cs / 1305600 / 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
- HtmlTitle.cs
- MasterPageParser.cs
- ConfigurationStrings.cs
- EmptyEnumerable.cs
- EnumDataContract.cs
- XmlCDATASection.cs
- ServicePrincipalNameElement.cs
- CapabilitiesState.cs
- XmlDeclaration.cs
- SqlProfileProvider.cs
- ShaderEffect.cs
- SmiEventSink_DeferedProcessing.cs
- WindowPattern.cs
- DefaultAsyncDataDispatcher.cs
- DeclarativeCatalogPartDesigner.cs
- Vector3D.cs
- WizardPanelChangingEventArgs.cs
- ProfileSection.cs
- BitmapScalingModeValidation.cs
- TextEditorParagraphs.cs
- IODescriptionAttribute.cs
- ZoneMembershipCondition.cs
- WebPartDisplayModeEventArgs.cs
- KeyValuePair.cs
- PathNode.cs
- Baml2006ReaderFrame.cs
- VSWCFServiceContractGenerator.cs
- WebRequestModuleElementCollection.cs
- CharEnumerator.cs
- DependencyProperty.cs
- LookupNode.cs
- DynamicExpression.cs
- Line.cs
- WebPartExportVerb.cs
- ArcSegment.cs
- SqlClientWrapperSmiStream.cs
- RegexParser.cs
- TableDetailsCollection.cs
- RowCache.cs
- AttachmentService.cs
- KeyFrames.cs
- HttpConfigurationContext.cs
- VersionConverter.cs
- CacheMode.cs
- MetadataArtifactLoaderResource.cs
- Atom10FormatterFactory.cs
- RNGCryptoServiceProvider.cs
- NullableDoubleMinMaxAggregationOperator.cs
- XmlSchemaGroup.cs
- TagMapCollection.cs
- MemberCollection.cs
- ISFTagAndGuidCache.cs
- LassoSelectionBehavior.cs
- ReferentialConstraint.cs
- SimpleBitVector32.cs
- GraphicsPathIterator.cs
- HostingEnvironmentSection.cs
- ConstructorNeedsTagAttribute.cs
- DesignerRegionCollection.cs
- TransportSecurityProtocol.cs
- ToolBarPanel.cs
- DataGridViewHeaderCell.cs
- SafeReversePInvokeHandle.cs
- QueryOpeningEnumerator.cs
- DateRangeEvent.cs
- UserPreferenceChangingEventArgs.cs
- WindowsPen.cs
- DefaultClaimSet.cs
- SpecialFolderEnumConverter.cs
- SingleResultAttribute.cs
- FilterQueryOptionExpression.cs
- XNameTypeConverter.cs
- XmlDocumentFieldSchema.cs
- EditorResources.cs
- DataGridSortCommandEventArgs.cs
- DropShadowBitmapEffect.cs
- SizeValueSerializer.cs
- PenThreadWorker.cs
- __TransparentProxy.cs
- HtmlTableCell.cs
- SrgsElementList.cs
- LicenseManager.cs
- PolyQuadraticBezierSegment.cs
- SafeNativeMethods.cs
- DynamicDataResources.Designer.cs
- HttpPostedFile.cs
- StorageInfo.cs
- MembershipSection.cs
- wgx_exports.cs
- DataSysAttribute.cs
- PartialCachingControl.cs
- GcHandle.cs
- CursorConverter.cs
- PropertyEmitterBase.cs
- FormatterConverter.cs
- OpenTypeLayout.cs
- ObjectNotFoundException.cs
- SoapFormatterSinks.cs
- CqlBlock.cs
- FacetEnabledSchemaElement.cs