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
- QualificationDataItem.cs
- CommonObjectSecurity.cs
- ComplexTypeEmitter.cs
- HyperLink.cs
- Int32EqualityComparer.cs
- Delegate.cs
- ProfileSection.cs
- UdpChannelFactory.cs
- TreeWalkHelper.cs
- XamlReaderHelper.cs
- SuppressMessageAttribute.cs
- AssemblyInfo.cs
- ParallelEnumerableWrapper.cs
- InheritanceAttribute.cs
- AdornerDecorator.cs
- CompositeFontFamily.cs
- UInt32Storage.cs
- SqlNodeAnnotations.cs
- CompModSwitches.cs
- AxImporter.cs
- WebPartConnectionsConnectVerb.cs
- ImageField.cs
- FrameAutomationPeer.cs
- FileLogRecordEnumerator.cs
- DispatcherTimer.cs
- EmptyQuery.cs
- HttpHandlerActionCollection.cs
- GlobalEventManager.cs
- PreProcessInputEventArgs.cs
- SemaphoreSlim.cs
- DependencyObjectProvider.cs
- SamlAuthorityBinding.cs
- RegistryDataKey.cs
- ParamArrayAttribute.cs
- ExpressionBuilder.cs
- ListViewCommandEventArgs.cs
- CheckBoxAutomationPeer.cs
- NameObjectCollectionBase.cs
- ColumnPropertiesGroup.cs
- X509IssuerSerialKeyIdentifierClause.cs
- PieceNameHelper.cs
- HandlerFactoryCache.cs
- ThumbAutomationPeer.cs
- XPathDocumentIterator.cs
- CacheMemory.cs
- FixedStringLookup.cs
- ExponentialEase.cs
- SatelliteContractVersionAttribute.cs
- CreatingCookieEventArgs.cs
- ConfigurationManagerInternal.cs
- DateTimeEditor.cs
- DbTransaction.cs
- SmiEventSink.cs
- BitmapScalingModeValidation.cs
- OleDbPropertySetGuid.cs
- Stopwatch.cs
- TextBreakpoint.cs
- TileBrush.cs
- RoleGroup.cs
- TreeChangeInfo.cs
- SqlColumnizer.cs
- SendParametersContent.cs
- SiteMap.cs
- ConfigDefinitionUpdates.cs
- Security.cs
- Errors.cs
- PreservationFileReader.cs
- ValidationSummary.cs
- AddInContractAttribute.cs
- ServiceSecurityContext.cs
- StatusBarPanelClickEvent.cs
- BeginGetFileNameFromUserRequest.cs
- BulletDecorator.cs
- BitmapInitialize.cs
- CallbackHandler.cs
- ApplicationServiceManager.cs
- ConstraintCollection.cs
- PropertyItem.cs
- MachineKeySection.cs
- PermissionSet.cs
- XPathNodePointer.cs
- DefaultMemberAttribute.cs
- EntityClassGenerator.cs
- IRCollection.cs
- OpenTypeCommon.cs
- TypeLibConverter.cs
- PageAsyncTaskManager.cs
- ResourceReferenceExpressionConverter.cs
- QilLiteral.cs
- RectKeyFrameCollection.cs
- arabicshape.cs
- ResourceExpression.cs
- SessionPageStateSection.cs
- HostingEnvironmentSection.cs
- NativeRecognizer.cs
- GradientSpreadMethodValidation.cs
- SafeLocalMemHandle.cs
- Hashtable.cs
- IBuiltInEvidence.cs
- WebHeaderCollection.cs