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
- KeyValuePairs.cs
- Bitmap.cs
- GenericWebPart.cs
- RangeBaseAutomationPeer.cs
- DependencyObjectPropertyDescriptor.cs
- OdbcUtils.cs
- UIElementIsland.cs
- SqlNamer.cs
- MasterPage.cs
- Assign.cs
- CodeIterationStatement.cs
- ObjectDataSourceStatusEventArgs.cs
- SspiSafeHandles.cs
- Function.cs
- GetPageCompletedEventArgs.cs
- SamlDoNotCacheCondition.cs
- CheckBoxField.cs
- Error.cs
- XmlStringTable.cs
- SmiSettersStream.cs
- InheritanceContextHelper.cs
- ChannelSinkStacks.cs
- DataGridViewMethods.cs
- GridItemPattern.cs
- EdmProperty.cs
- XmlSchemaComplexContentRestriction.cs
- DBNull.cs
- DependencyPropertyAttribute.cs
- ControlCollection.cs
- OleDbPermission.cs
- CommonRemoteMemoryBlock.cs
- KnownBoxes.cs
- AdornedElementPlaceholder.cs
- Schema.cs
- UpdatePanelTrigger.cs
- SqlRetyper.cs
- TextElementAutomationPeer.cs
- CellParagraph.cs
- HybridDictionary.cs
- XmlTextEncoder.cs
- ProfileService.cs
- UnsafeNativeMethods.cs
- DbParameterHelper.cs
- PagedControl.cs
- ToolStripSplitStackLayout.cs
- ProfileManager.cs
- WmlCalendarAdapter.cs
- WindowsListView.cs
- StsCommunicationException.cs
- BrushConverter.cs
- ObjectViewListener.cs
- AuditLog.cs
- ScrollProviderWrapper.cs
- TreeNode.cs
- hresults.cs
- PreparingEnlistment.cs
- LexicalChunk.cs
- GridViewColumnCollection.cs
- LayoutUtils.cs
- SkewTransform.cs
- Calendar.cs
- QuaternionValueSerializer.cs
- ErrorHandlingAcceptor.cs
- PropertyValue.cs
- AutomationPatternInfo.cs
- ITextView.cs
- NameValueFileSectionHandler.cs
- MenuItemCollection.cs
- ConfigXmlText.cs
- ResourceContainer.cs
- FragmentNavigationEventArgs.cs
- SettingsSavedEventArgs.cs
- AssemblyAttributes.cs
- Size.cs
- MediaElement.cs
- SatelliteContractVersionAttribute.cs
- SelectedDatesCollection.cs
- safelink.cs
- ViewCellRelation.cs
- ValidationEventArgs.cs
- CompilerErrorCollection.cs
- WebPartCollection.cs
- DnsPermission.cs
- AsyncCodeActivity.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- XamlSerializerUtil.cs
- DateTimeAutomationPeer.cs
- SemanticBasicElement.cs
- TextTreeUndo.cs
- CategoryAttribute.cs
- CaseInsensitiveComparer.cs
- PointCollectionConverter.cs
- JpegBitmapEncoder.cs
- TextEndOfSegment.cs
- WebPartTracker.cs
- XmlSerializationReader.cs
- EmissiveMaterial.cs
- nulltextnavigator.cs
- ImageAttributes.cs
- ObjectQueryProvider.cs