Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / DynamicResourceExtension.cs / 1 / DynamicResourceExtension.cs
/****************************************************************************\ * * File: DynamicResourceExtension.cs * * Class for Xaml markup extension for static resource references. * * Copyright (C) 2004 by Microsoft Corporation. All rights reserved. * \***************************************************************************/ using System; using System.ComponentModel; using System.Windows; using System.Windows.Markup; using System.Reflection; using MS.Internal; // Helper namespace System.Windows { ////// Class for Xaml markup extension for static resource references. /// [TypeConverter(typeof(DynamicResourceExtensionConverter))] [MarkupExtensionReturnType(typeof(object))] public class DynamicResourceExtension : MarkupExtension { ////// Constructor that takes no parameters /// public DynamicResourceExtension() { } ////// Constructor that takes the resource key that this is a static reference to. /// public DynamicResourceExtension( object resourceKey) { if (resourceKey == null) { throw new ArgumentNullException("resourceKey"); } _resourceKey = resourceKey; } ////// Return an object that should be set on the targetObject's targetProperty /// for this markup extension. For DynamicResourceExtension, this is the object found in /// a resource dictionary in the current parent chain that is keyed by ResourceKey /// ////// The object to set on this property. /// public override object ProvideValue(IServiceProvider serviceProvider) { if (ResourceKey == null) { throw new InvalidOperationException(SR.Get(SRID.MarkupExtensionResourceKey)); } if (serviceProvider != null) { IProvideValueTarget provideValueTarget = serviceProvider.GetService(typeof(IProvideValueTarget)) as IProvideValueTarget; // DynamicResourceExtensions are not allowed On CLR props except for Setter,Trigger,Condition (bugs 1183373,1572537) DependencyObject targetDependencyObject; DependencyProperty targetDependencyProperty; Helper.CheckCanReceiveMarkupExtension(this, provideValueTarget, out targetDependencyObject, out targetDependencyProperty); } return new ResourceReferenceExpression(ResourceKey); } ////// The key in a Resource Dictionary used to find the object refered to by this /// Markup Extension. /// [ConstructorArgument("resourceKey")] // Uses an instance descriptor public object ResourceKey { get { return _resourceKey; } set { if (value == null) { throw new ArgumentNullException("value"); } _resourceKey = value; } } private object _resourceKey; } } // 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
- TableParagraph.cs
- Attributes.cs
- XmlBoundElement.cs
- EpmAttributeNameBuilder.cs
- WebPartsSection.cs
- SqlDataSourceView.cs
- SafeFileHandle.cs
- XsltOutput.cs
- DelegateSerializationHolder.cs
- XmlWrappingReader.cs
- shaperfactoryquerycacheentry.cs
- validation.cs
- ActivityDefaults.cs
- _NegotiateClient.cs
- Int32Converter.cs
- DirectionalLight.cs
- SendMailErrorEventArgs.cs
- CollectionCodeDomSerializer.cs
- DashStyle.cs
- PersistenceIOParticipant.cs
- Clipboard.cs
- MaskedTextBox.cs
- StorageModelBuildProvider.cs
- NamedPermissionSet.cs
- UserValidatedEventArgs.cs
- MediaElementAutomationPeer.cs
- ADRoleFactoryConfiguration.cs
- ConstraintStruct.cs
- SafeHandles.cs
- TextSearch.cs
- DataGridViewCellStyleChangedEventArgs.cs
- Misc.cs
- MonikerBuilder.cs
- XmlObjectSerializerWriteContext.cs
- ManagedIStream.cs
- CultureTable.cs
- UndirectedGraph.cs
- JsonByteArrayDataContract.cs
- RequestResizeEvent.cs
- SolidBrush.cs
- InputReferenceExpression.cs
- OracleEncoding.cs
- X509SecurityTokenAuthenticator.cs
- listitem.cs
- WebScriptServiceHostFactory.cs
- StringBuilder.cs
- TableLayoutRowStyleCollection.cs
- NativeRightsManagementAPIsStructures.cs
- Exceptions.cs
- XmlReaderSettings.cs
- HebrewCalendar.cs
- Activator.cs
- PropertyIDSet.cs
- DataGridAddNewRow.cs
- SchemaCreator.cs
- DataControlFieldCell.cs
- IProvider.cs
- WebConfigurationManager.cs
- UriParserTemplates.cs
- UTF7Encoding.cs
- ResXResourceSet.cs
- Binding.cs
- ResolveResponseInfo.cs
- OleDbConnectionFactory.cs
- RPIdentityRequirement.cs
- PkcsMisc.cs
- DrawingGroupDrawingContext.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- SelectionService.cs
- ClientScriptManagerWrapper.cs
- GeometryGroup.cs
- WriteFileContext.cs
- XmlLoader.cs
- UnsafeNativeMethods.cs
- ApplicationSecurityInfo.cs
- ZipIOModeEnforcingStream.cs
- SectionXmlInfo.cs
- SqlResolver.cs
- RSACryptoServiceProvider.cs
- SingleAnimationUsingKeyFrames.cs
- XmlQueryTypeFactory.cs
- DbProviderFactories.cs
- PropertyEmitter.cs
- XmlSchemaChoice.cs
- ResourceDictionaryCollection.cs
- SqlRowUpdatingEvent.cs
- _RequestLifetimeSetter.cs
- _NestedMultipleAsyncResult.cs
- TimelineGroup.cs
- XmlSecureResolver.cs
- Msec.cs
- TransactionInformation.cs
- OutputCacheProviderCollection.cs
- InitializerFacet.cs
- HwndTarget.cs
- UnsafeNativeMethods.cs
- Environment.cs
- SmiRecordBuffer.cs
- HostingEnvironmentException.cs
- AudioFormatConverter.cs