Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- EndpointReference.cs
- Tablet.cs
- LoginUtil.cs
- CriticalFinalizerObject.cs
- RemotingAttributes.cs
- COM2ExtendedTypeConverter.cs
- XmlSchemaException.cs
- CodeDirectoryCompiler.cs
- DefaultCommandExtensionCallback.cs
- WorkflowDesignerColors.cs
- Cursor.cs
- ZipIOCentralDirectoryFileHeader.cs
- Crypto.cs
- DocumentOrderQuery.cs
- SpotLight.cs
- LinkDescriptor.cs
- ToolStripTextBox.cs
- CodeArrayIndexerExpression.cs
- CustomTypeDescriptor.cs
- RequestQueryProcessor.cs
- ContainerParagraph.cs
- ErrorFormatter.cs
- ScriptRegistrationManager.cs
- GatewayDefinition.cs
- EntityModelBuildProvider.cs
- _TimerThread.cs
- TraceProvider.cs
- SessionIDManager.cs
- WebPartDisplayModeCollection.cs
- SchemaNamespaceManager.cs
- DataGridViewTopRowAccessibleObject.cs
- TypeUtils.cs
- ActivationArguments.cs
- ContainerParagraph.cs
- WhitespaceRuleReader.cs
- WebPartTransformerAttribute.cs
- DescendentsWalkerBase.cs
- SafeIUnknown.cs
- MimeMapping.cs
- BindingCollection.cs
- DummyDataSource.cs
- SerialPort.cs
- InvalidOperationException.cs
- MenuItemCollectionEditor.cs
- CodeAccessSecurityEngine.cs
- QueryOperationResponseOfT.cs
- DbConnectionStringCommon.cs
- UIElement3DAutomationPeer.cs
- ExpressionBuilderContext.cs
- EntityViewContainer.cs
- precedingsibling.cs
- Slider.cs
- ComboBox.cs
- TraceContextEventArgs.cs
- TextMetrics.cs
- PerfCounterSection.cs
- WebSysDisplayNameAttribute.cs
- UnmanagedBitmapWrapper.cs
- EventLogTraceListener.cs
- SettingsPropertyValue.cs
- StaticTextPointer.cs
- PropertyEmitter.cs
- CodeDirectoryCompiler.cs
- DataGridViewRowConverter.cs
- CompositionDesigner.cs
- PathFigure.cs
- CheckBox.cs
- CodeGotoStatement.cs
- SByteStorage.cs
- HttpListenerResponse.cs
- _DisconnectOverlappedAsyncResult.cs
- RtfFormatStack.cs
- __Filters.cs
- ProxyGenerator.cs
- Hyperlink.cs
- SelectingProviderEventArgs.cs
- HashAlgorithm.cs
- WebServiceFaultDesigner.cs
- ChangeNode.cs
- WebPartConnectionsEventArgs.cs
- UnsafeNativeMethods.cs
- BaseComponentEditor.cs
- Menu.cs
- DefaultProxySection.cs
- PassportPrincipal.cs
- SettingsProviderCollection.cs
- WindowsGraphicsCacheManager.cs
- C14NUtil.cs
- PartialArray.cs
- Vector3DKeyFrameCollection.cs
- DirectoryLocalQuery.cs
- Stack.cs
- DockingAttribute.cs
- EventDescriptorCollection.cs
- MailWebEventProvider.cs
- Attribute.cs
- TemplatedWizardStep.cs
- _FixedSizeReader.cs
- GenericWebPart.cs
- TimelineClockCollection.cs