Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / 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. //---------------------------------------------------------------------------- // // 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
- DataSpaceManager.cs
- CoTaskMemHandle.cs
- PrinterResolution.cs
- BamlTreeNode.cs
- FixedElement.cs
- DispatcherOperation.cs
- HtmlControlPersistable.cs
- LinkLabelLinkClickedEvent.cs
- PolyLineSegment.cs
- __FastResourceComparer.cs
- TemplatePartAttribute.cs
- DbBuffer.cs
- QilTernary.cs
- DiscoveryClientReferences.cs
- ConfigurationProperty.cs
- FixedSOMElement.cs
- PageParser.cs
- AudioStateChangedEventArgs.cs
- RelatedEnd.cs
- FieldTemplateFactory.cs
- WebServiceClientProxyGenerator.cs
- NavigationPropertySingletonExpression.cs
- SimpleBitVector32.cs
- ContactManager.cs
- _WinHttpWebProxyDataBuilder.cs
- ApplicationTrust.cs
- DBSchemaTable.cs
- DisplayMemberTemplateSelector.cs
- PolygonHotSpot.cs
- DefaultBinder.cs
- BinaryFormatter.cs
- CompositeCollection.cs
- RoleBoolean.cs
- SecurityKeyIdentifierClause.cs
- Win32.cs
- StaticResourceExtension.cs
- ReadOnlyNameValueCollection.cs
- AsyncResult.cs
- MetricEntry.cs
- AspProxy.cs
- ProtectedConfigurationSection.cs
- Mutex.cs
- TimeSpanConverter.cs
- _NestedSingleAsyncResult.cs
- HttpRawResponse.cs
- CompiledRegexRunner.cs
- Parameter.cs
- EntityProviderFactory.cs
- WriterOutput.cs
- RenderContext.cs
- ProviderConnectionPoint.cs
- COAUTHIDENTITY.cs
- SmiTypedGetterSetter.cs
- UnauthorizedWebPart.cs
- DesignerVerb.cs
- RegexGroupCollection.cs
- LogStore.cs
- SortDescriptionCollection.cs
- Setter.cs
- Graphics.cs
- EventWaitHandleSecurity.cs
- DesignBindingPropertyDescriptor.cs
- XPathSelfQuery.cs
- NegatedConstant.cs
- Size.cs
- DataGridClipboardCellContent.cs
- ControlParameter.cs
- ApplicationSecurityManager.cs
- WebExceptionStatus.cs
- EndpointAddress.cs
- WebHttpSecurityElement.cs
- CqlWriter.cs
- InterleavedZipPartStream.cs
- DebugView.cs
- CalendarAutomationPeer.cs
- ImageField.cs
- GlobalizationSection.cs
- ServiceOperationParameter.cs
- ImageListUtils.cs
- LinkConverter.cs
- DefaultTraceListener.cs
- SchemaObjectWriter.cs
- CopyOnWriteList.cs
- ButtonBaseAdapter.cs
- Nullable.cs
- BooleanSwitch.cs
- JournalEntryListConverter.cs
- OrderedDictionaryStateHelper.cs
- DispatcherExceptionFilterEventArgs.cs
- ResourceManagerWrapper.cs
- MediaEntryAttribute.cs
- CharConverter.cs
- XmlWriterDelegator.cs
- PrintingPermission.cs
- HostProtectionPermission.cs
- CompositeFontInfo.cs
- View.cs
- ReachPageContentSerializerAsync.cs
- TemplateGroupCollection.cs
- ScriptReferenceEventArgs.cs