Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / 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. //------------------------------------------------------------------------------ //// 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DetailsViewInsertedEventArgs.cs
- XmlSchemaSearchPattern.cs
- InternalDuplexChannelFactory.cs
- HttpRequest.cs
- MethodExpression.cs
- SessionMode.cs
- ResourcesChangeInfo.cs
- MetadataItem_Static.cs
- CompensatableTransactionScopeActivity.cs
- NamedPipeDuplicateContext.cs
- CollectionEditor.cs
- MediaEntryAttribute.cs
- ServiceReference.cs
- ByteViewer.cs
- FileDetails.cs
- TextEditorMouse.cs
- CalendarAutomationPeer.cs
- BinaryNode.cs
- FrugalList.cs
- DataGridViewBindingCompleteEventArgs.cs
- CompatibleIComparer.cs
- ZipIOLocalFileDataDescriptor.cs
- Dispatcher.cs
- ResourceDefaultValueAttribute.cs
- IsolationInterop.cs
- InkCanvasSelectionAdorner.cs
- LogConverter.cs
- PageBreakRecord.cs
- CfgParser.cs
- RegisteredArrayDeclaration.cs
- AnnotationResource.cs
- DesignerWebPartChrome.cs
- DynamicAttribute.cs
- Misc.cs
- TreeNodeClickEventArgs.cs
- UnsafeNativeMethods.cs
- FontSource.cs
- WebEvents.cs
- GlyphingCache.cs
- ImagingCache.cs
- validation.cs
- DeleteStoreRequest.cs
- DataGridDetailsPresenter.cs
- StreamMarshaler.cs
- xamlnodes.cs
- ColumnResizeAdorner.cs
- GlyphRun.cs
- TextEditorSpelling.cs
- ServiceElementCollection.cs
- ShaperBuffers.cs
- _FtpControlStream.cs
- LightweightCodeGenerator.cs
- Converter.cs
- AccessDataSourceView.cs
- ConfigurationManagerHelperFactory.cs
- EntityDataSourceEntityTypeFilterItem.cs
- BindingCompleteEventArgs.cs
- XamlVector3DCollectionSerializer.cs
- FormViewPageEventArgs.cs
- QuaternionKeyFrameCollection.cs
- ContractHandle.cs
- TraceUtils.cs
- MemberMaps.cs
- PropertyGrid.cs
- AuthenticationService.cs
- WebPartZoneBase.cs
- DataGridViewCellValueEventArgs.cs
- Helper.cs
- ToolStripItem.cs
- PagerSettings.cs
- StrokeCollection.cs
- LinearGradientBrush.cs
- GcHandle.cs
- DurableOperationAttribute.cs
- TargetException.cs
- SQLInt64Storage.cs
- EntityAdapter.cs
- InstanceBehavior.cs
- GenericWebPart.cs
- RegexStringValidator.cs
- glyphs.cs
- ChangeTracker.cs
- ElementUtil.cs
- Types.cs
- StylusButtonEventArgs.cs
- EntityCommandDefinition.cs
- ASCIIEncoding.cs
- QueryTask.cs
- ContentPresenter.cs
- HasCopySemanticsAttribute.cs
- HandlerWithFactory.cs
- ContextStack.cs
- ActionMismatchAddressingException.cs
- InvalidComObjectException.cs
- TriggerActionCollection.cs
- SymbolMethod.cs
- OpenFileDialog.cs
- WhitespaceSignificantCollectionAttribute.cs
- XmlAttributeOverrides.cs
- ICollection.cs