Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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); } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataGridCellInfo.cs
- SqlAliasesReferenced.cs
- FileNotFoundException.cs
- PathStreamGeometryContext.cs
- LowerCaseStringConverter.cs
- Font.cs
- HandleTable.cs
- CryptoProvider.cs
- EditorBrowsableAttribute.cs
- SortQueryOperator.cs
- Label.cs
- XhtmlBasicObjectListAdapter.cs
- ButtonAutomationPeer.cs
- ColorContext.cs
- GridItem.cs
- SHA1.cs
- WhitespaceRule.cs
- HeaderUtility.cs
- XmlSchemaSequence.cs
- SubtreeProcessor.cs
- SecurityPolicySection.cs
- Rectangle.cs
- KnownBoxes.cs
- XmlCharType.cs
- EastAsianLunisolarCalendar.cs
- Line.cs
- FilteredAttributeCollection.cs
- Geometry.cs
- peernodestatemanager.cs
- DotExpr.cs
- SqlDataSourceView.cs
- Exceptions.cs
- SystemBrushes.cs
- BCLDebug.cs
- DataGridCell.cs
- Canvas.cs
- XmlLangPropertyAttribute.cs
- LinearGradientBrush.cs
- BasicViewGenerator.cs
- HealthMonitoringSection.cs
- PartitionerQueryOperator.cs
- ConfigurationSettings.cs
- SoapTypeAttribute.cs
- CallTemplateAction.cs
- DetailsViewPagerRow.cs
- TrackBar.cs
- EditorPart.cs
- XmlAttributeHolder.cs
- NullableDecimalMinMaxAggregationOperator.cs
- ToolStripDropDown.cs
- LinqDataSourceUpdateEventArgs.cs
- StorageComplexPropertyMapping.cs
- DefaultValidator.cs
- EmptyEnumerator.cs
- EventEntry.cs
- DataGridViewComboBoxColumn.cs
- PointValueSerializer.cs
- ThicknessAnimationUsingKeyFrames.cs
- InternalDispatchObject.cs
- PathSegmentCollection.cs
- TextParagraph.cs
- SqlIdentifier.cs
- Control.cs
- WeakReferenceEnumerator.cs
- HtmlImageAdapter.cs
- ContextStaticAttribute.cs
- ContactManager.cs
- CapabilitiesUse.cs
- NullReferenceException.cs
- DataServiceContext.cs
- ServiceHostFactory.cs
- DesignerDataView.cs
- PeerMessageDispatcher.cs
- GridViewUpdatedEventArgs.cs
- AutomationPattern.cs
- DrawingCollection.cs
- StringStorage.cs
- Assert.cs
- httpapplicationstate.cs
- WebPartConnection.cs
- HeaderedItemsControl.cs
- TagPrefixInfo.cs
- METAHEADER.cs
- RequestUriProcessor.cs
- TreeWalkHelper.cs
- WeakEventManager.cs
- ProtectedConfigurationSection.cs
- XPathNavigator.cs
- TableAdapterManagerGenerator.cs
- UrlMappingsModule.cs
- _SecureChannel.cs
- CodeTypeOfExpression.cs
- XmlNodeChangedEventManager.cs
- CodeExpressionStatement.cs
- SplashScreen.cs
- Mappings.cs
- TransformDescriptor.cs
- StorageMappingItemCollection.cs
- DbProviderServices.cs
- WaitHandle.cs