Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / UI / ControlPropertyNameConverter.cs / 1 / ControlPropertyNameConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Globalization; using System.Reflection; using System.Web.Util; using System.Security.Permissions; ////// TypeConverter for ControlParameter's PropertyName property. /// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class ControlPropertyNameConverter : StringConverter { ////// Returns a list of all the propery names for a given control. /// private string[] GetPropertyNames(Control control) { ArrayList array = new ArrayList(); PropertyDescriptorCollection pdc = TypeDescriptor.GetProperties(control.GetType()); foreach (PropertyDescriptor desc in pdc) { array.Add(desc.Name); } array.Sort(Comparer.Default); return (string[])array.ToArray(typeof(string)); } ////// Returns a collection of standard values retrieved from the context specified /// by the specified type descriptor. /// public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { if (context == null) { return null; } // Get ControlID ControlParameter param = (ControlParameter)context.Instance; string controlID = param.ControlID; // Check that we actually have a control ID if (String.IsNullOrEmpty(controlID)) return null; // Get designer host IDesignerHost host = (IDesignerHost)context.GetService(typeof(IDesignerHost)); Debug.Assert(host != null, "Unable to get IDesignerHost in ControlPropertyNameConverter"); if (host == null) return null; // Get control ComponentCollection allComponents = host.Container.Components; Control control = allComponents[controlID] as Control; if (control == null) return null; string[] propertyNames = GetPropertyNames(control); return new StandardValuesCollection(propertyNames); } ////// Gets whether or not the context specified contains exclusive standard values. /// public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return false; } ////// Gets whether or not the specified context contains supported standard values. /// public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return (context != null); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Globalization; using System.Reflection; using System.Web.Util; using System.Security.Permissions; ////// TypeConverter for ControlParameter's PropertyName property. /// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class ControlPropertyNameConverter : StringConverter { ////// Returns a list of all the propery names for a given control. /// private string[] GetPropertyNames(Control control) { ArrayList array = new ArrayList(); PropertyDescriptorCollection pdc = TypeDescriptor.GetProperties(control.GetType()); foreach (PropertyDescriptor desc in pdc) { array.Add(desc.Name); } array.Sort(Comparer.Default); return (string[])array.ToArray(typeof(string)); } ////// Returns a collection of standard values retrieved from the context specified /// by the specified type descriptor. /// public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { if (context == null) { return null; } // Get ControlID ControlParameter param = (ControlParameter)context.Instance; string controlID = param.ControlID; // Check that we actually have a control ID if (String.IsNullOrEmpty(controlID)) return null; // Get designer host IDesignerHost host = (IDesignerHost)context.GetService(typeof(IDesignerHost)); Debug.Assert(host != null, "Unable to get IDesignerHost in ControlPropertyNameConverter"); if (host == null) return null; // Get control ComponentCollection allComponents = host.Container.Components; Control control = allComponents[controlID] as Control; if (control == null) return null; string[] propertyNames = GetPropertyNames(control); return new StandardValuesCollection(propertyNames); } ////// Gets whether or not the context specified contains exclusive standard values. /// public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return false; } ////// Gets whether or not the specified context contains supported standard values. /// public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return (context != null); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TrustSection.cs
- Validator.cs
- DocumentApplicationJournalEntry.cs
- SrgsRulesCollection.cs
- DataList.cs
- ComIntegrationManifestGenerator.cs
- EDesignUtil.cs
- RegexMatch.cs
- AsyncResult.cs
- SimpleHandlerFactory.cs
- Animatable.cs
- Positioning.cs
- WebControlsSection.cs
- ActiveXContainer.cs
- RepeatInfo.cs
- MessageFault.cs
- __Error.cs
- ApplicationHost.cs
- DataGridViewTextBoxCell.cs
- IndentTextWriter.cs
- EventProxy.cs
- XmlDownloadManager.cs
- TrustDriver.cs
- RequiredAttributeAttribute.cs
- XmlSchemaSet.cs
- ListViewCancelEventArgs.cs
- ToolTipService.cs
- Camera.cs
- DbException.cs
- PathSegmentCollection.cs
- SymbolResolver.cs
- ClipboardData.cs
- RenderDataDrawingContext.cs
- CallbackValidatorAttribute.cs
- SequenceNumber.cs
- SoapSchemaMember.cs
- RelationshipNavigation.cs
- ACE.cs
- CursorConverter.cs
- Ref.cs
- MetadataElement.cs
- SpellCheck.cs
- Highlights.cs
- PropertiesTab.cs
- LiteralTextParser.cs
- TextEditorTables.cs
- AlphabeticalEnumConverter.cs
- FormsAuthenticationConfiguration.cs
- BrowserCapabilitiesFactoryBase.cs
- ListItemViewControl.cs
- NullableLongAverageAggregationOperator.cs
- TypeListConverter.cs
- _TransmitFileOverlappedAsyncResult.cs
- HyperLink.cs
- ComponentConverter.cs
- Asn1Utilities.cs
- SoapInteropTypes.cs
- DetailsViewRowCollection.cs
- SystemEvents.cs
- NamespaceList.cs
- LoadMessageLogger.cs
- ProxyWebPartConnectionCollection.cs
- RequestCachingSection.cs
- ServiceBuildProvider.cs
- mactripleDES.cs
- Process.cs
- SchemaCollectionPreprocessor.cs
- HttpConfigurationSystem.cs
- TypeDelegator.cs
- BooleanFunctions.cs
- TypographyProperties.cs
- MediaTimeline.cs
- ZeroOpNode.cs
- ComplexBindingPropertiesAttribute.cs
- MenuTracker.cs
- CacheSection.cs
- SelectionEditingBehavior.cs
- EndpointConfigContainer.cs
- BufferModeSettings.cs
- CrossSiteScriptingValidation.cs
- AQNBuilder.cs
- TableFieldsEditor.cs
- IDReferencePropertyAttribute.cs
- ExpressionDumper.cs
- CommandHelper.cs
- TraceUtils.cs
- Label.cs
- SpeechRecognizer.cs
- KerberosSecurityTokenAuthenticator.cs
- AutoFocusStyle.xaml.cs
- StatusBarItemAutomationPeer.cs
- Marshal.cs
- CursorInteropHelper.cs
- ClientProtocol.cs
- safelinkcollection.cs
- BuildProvider.cs
- FilterException.cs
- UrlAuthFailedErrorFormatter.cs
- ElementHostAutomationPeer.cs
- NonSerializedAttribute.cs