Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BinHexDecoder.cs
- ClientSponsor.cs
- NavigationWindowAutomationPeer.cs
- SettingsProperty.cs
- OutOfProcStateClientManager.cs
- CompilerGeneratedAttribute.cs
- InternalUserCancelledException.cs
- XslUrlEditor.cs
- SqlStream.cs
- BackEase.cs
- XamlPoint3DCollectionSerializer.cs
- ObjectDataSource.cs
- XamlSerializer.cs
- RightsManagementInformation.cs
- HttpResponseWrapper.cs
- InvocationExpression.cs
- TextAction.cs
- XPathMessageFilterElementCollection.cs
- StorageComplexTypeMapping.cs
- FutureFactory.cs
- Point3DAnimation.cs
- TdsParserSafeHandles.cs
- MatrixAnimationUsingPath.cs
- DiscoveryDocumentLinksPattern.cs
- XmlHelper.cs
- Timeline.cs
- ConsoleCancelEventArgs.cs
- DataGridViewImageCell.cs
- SmiConnection.cs
- XmlRawWriterWrapper.cs
- NetMsmqBindingCollectionElement.cs
- GeneralTransform3DCollection.cs
- ResolveNameEventArgs.cs
- SplitterDesigner.cs
- Lasso.cs
- DivideByZeroException.cs
- BuildProvider.cs
- ChildTable.cs
- IntPtr.cs
- SelectionEditingBehavior.cs
- ReflectionUtil.cs
- BindingOperations.cs
- Encoding.cs
- DataBoundControlHelper.cs
- SqlException.cs
- IxmlLineInfo.cs
- NotSupportedException.cs
- TextHintingModeValidation.cs
- RowSpanVector.cs
- Container.cs
- activationcontext.cs
- EditorOptionAttribute.cs
- HtmlInputButton.cs
- xml.cs
- ToolStripSettings.cs
- LayoutManager.cs
- HotSpotCollection.cs
- CornerRadius.cs
- DefaultAuthorizationContext.cs
- VScrollBar.cs
- VirtualPath.cs
- CodeTypeParameterCollection.cs
- Matrix.cs
- PointLight.cs
- ObjectStateFormatter.cs
- SharedHttpsTransportManager.cs
- ClientScriptManagerWrapper.cs
- Int64Converter.cs
- ConfigXmlCDataSection.cs
- FirstMatchCodeGroup.cs
- SafeRightsManagementPubHandle.cs
- DataListItem.cs
- OdbcEnvironmentHandle.cs
- ProfileModule.cs
- DataGridCaption.cs
- ExpressionWriter.cs
- Msmq3PoisonHandler.cs
- BufferedGraphicsContext.cs
- TimeSpanHelper.cs
- ScriptManager.cs
- TTSVoice.cs
- ListBoxItem.cs
- autovalidator.cs
- CodeExpressionCollection.cs
- AssemblyLoader.cs
- PreviewKeyDownEventArgs.cs
- ItemsPresenter.cs
- ApplicationInfo.cs
- ServicePointManagerElement.cs
- ImageField.cs
- FolderNameEditor.cs
- ErrorHandler.cs
- ValidatorAttribute.cs
- StateChangeEvent.cs
- ScriptDescriptor.cs
- NonClientArea.cs
- BitmapSizeOptions.cs
- Funcletizer.cs
- PackageController.cs
- DataObjectFieldAttribute.cs