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
- HeaderLabel.cs
- DWriteFactory.cs
- ManagementQuery.cs
- EventLogger.cs
- ValueSerializerAttribute.cs
- VisualStyleElement.cs
- CollectionMarkupSerializer.cs
- PenLineCapValidation.cs
- BaseDataBoundControl.cs
- CheckBoxBaseAdapter.cs
- ScrollBarRenderer.cs
- BindingWorker.cs
- AttachedPropertyInfo.cs
- CheckBoxField.cs
- ToolZone.cs
- WindowsFormsSynchronizationContext.cs
- WriteFileContext.cs
- ResponseStream.cs
- XmlSchemaAnyAttribute.cs
- TypefaceMetricsCache.cs
- ReflectionTypeLoadException.cs
- KeyboardEventArgs.cs
- ZoneIdentityPermission.cs
- PointLightBase.cs
- ChtmlTextWriter.cs
- EncoderParameter.cs
- UndoManager.cs
- ButtonField.cs
- CodeGenerator.cs
- PathFigure.cs
- CodeSnippetTypeMember.cs
- CombinedGeometry.cs
- DescendantQuery.cs
- WebPermission.cs
- ResourceDescriptionAttribute.cs
- NominalTypeEliminator.cs
- FontStyles.cs
- DataGridViewCellConverter.cs
- DbCommandDefinition.cs
- UpdateExpressionVisitor.cs
- dbdatarecord.cs
- PlaceHolder.cs
- TextAdaptor.cs
- DynamicEntity.cs
- TimeSpanStorage.cs
- ResourceSet.cs
- GeneralTransform.cs
- PerfCounters.cs
- Object.cs
- ValidationError.cs
- PackageProperties.cs
- AxisAngleRotation3D.cs
- XmlSignatureManifest.cs
- ResourceReferenceExpression.cs
- RoleService.cs
- Translator.cs
- NameNode.cs
- DesignerSerializationVisibilityAttribute.cs
- OleDbDataAdapter.cs
- CriticalExceptions.cs
- AbstractDataSvcMapFileLoader.cs
- ActivityDesignerHelper.cs
- GlyphRunDrawing.cs
- HandoffBehavior.cs
- ScrollBarRenderer.cs
- CheckoutException.cs
- Base64Encoding.cs
- SmtpReplyReader.cs
- MatrixIndependentAnimationStorage.cs
- BinaryMethodMessage.cs
- UnsettableComboBox.cs
- Command.cs
- ParserHooks.cs
- DNS.cs
- EventWaitHandle.cs
- PermissionAttributes.cs
- Matrix.cs
- WebPartEventArgs.cs
- DesignerActionMethodItem.cs
- ResourceBinder.cs
- ObjectViewListener.cs
- XamlStream.cs
- FormsIdentity.cs
- BrushConverter.cs
- HtmlLink.cs
- FunctionNode.cs
- PropertyBuilder.cs
- WebServiceAttribute.cs
- EntityDesignerDataSourceView.cs
- CommunicationException.cs
- Mapping.cs
- Debug.cs
- UpdatePanelTrigger.cs
- NavigationWindow.cs
- ListSourceHelper.cs
- TextEditorTyping.cs
- CaseInsensitiveOrdinalStringComparer.cs
- BitmapEffectInputConnector.cs
- DesignDataSource.cs
- ScaleTransform3D.cs