Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EdmError.cs
- TextRenderer.cs
- ActivityMarkupSerializer.cs
- BamlVersionHeader.cs
- BehaviorEditorPart.cs
- TextServicesCompartmentContext.cs
- HierarchicalDataBoundControl.cs
- HashAlgorithm.cs
- ResourcePool.cs
- PointF.cs
- DateTimeParse.cs
- InfoCardRSACryptoProvider.cs
- CultureData.cs
- ByteAnimationUsingKeyFrames.cs
- ItemContainerGenerator.cs
- Keywords.cs
- TokenBasedSetEnumerator.cs
- ZipIOExtraFieldElement.cs
- Utils.cs
- Pen.cs
- MemberMaps.cs
- TableLayoutSettings.cs
- ObjectFullSpanRewriter.cs
- AnimationStorage.cs
- TypefaceCollection.cs
- TableHeaderCell.cs
- GlyphTypeface.cs
- CellRelation.cs
- RightsManagementInformation.cs
- WindowsRichEdit.cs
- StringArrayConverter.cs
- DecimalConverter.cs
- TdsEnums.cs
- ColorAnimationUsingKeyFrames.cs
- AutomationPatternInfo.cs
- BitmapEffectCollection.cs
- ValidationHelper.cs
- Composition.cs
- RightsManagementPermission.cs
- ColorAnimationUsingKeyFrames.cs
- MessageDecoder.cs
- ToolStripOverflowButton.cs
- IntegerValidator.cs
- AdPostCacheSubstitution.cs
- CrossSiteScriptingValidation.cs
- ScaleTransform3D.cs
- QueryActivatableWorkflowsCommand.cs
- ModelEditingScope.cs
- RowSpanVector.cs
- DataSysAttribute.cs
- TextEditorMouse.cs
- ThemeInfoAttribute.cs
- AppDomainProtocolHandler.cs
- ping.cs
- Span.cs
- ReturnEventArgs.cs
- SelectionWordBreaker.cs
- Container.cs
- SendSecurityHeaderElement.cs
- SystemInfo.cs
- IndexedSelectQueryOperator.cs
- DragDrop.cs
- Base64Stream.cs
- COM2FontConverter.cs
- SystemColors.cs
- XsdDuration.cs
- DynamicUpdateCommand.cs
- ProviderSettings.cs
- HttpDictionary.cs
- DBCommand.cs
- CompressedStack.cs
- ExpressionNode.cs
- PointHitTestParameters.cs
- Regex.cs
- ImmutableCollection.cs
- KeyTime.cs
- PackageDigitalSignatureManager.cs
- ContactManager.cs
- SystemTcpConnection.cs
- MediaContextNotificationWindow.cs
- MatrixTransform3D.cs
- CallContext.cs
- XmlSortKey.cs
- UserPersonalizationStateInfo.cs
- ObjectMaterializedEventArgs.cs
- ContextQuery.cs
- DbModificationCommandTree.cs
- HTMLTagNameToTypeMapper.cs
- GetIsBrowserClientRequest.cs
- HMACSHA256.cs
- XmlQueryCardinality.cs
- DynamicResourceExtension.cs
- CustomErrorsSection.cs
- SqlParameter.cs
- OrderByBuilder.cs
- SizeChangedEventArgs.cs
- PlatformCulture.cs
- FormViewCommandEventArgs.cs
- FileVersionInfo.cs
- TableRow.cs