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
- DeploymentSection.cs
- DataServices.cs
- MasterPageBuildProvider.cs
- PropertyPathWorker.cs
- TextDecorationUnitValidation.cs
- SubqueryTrackingVisitor.cs
- UInt64Storage.cs
- ProcessRequestAsyncResult.cs
- LayoutTable.cs
- DataGridViewComboBoxEditingControl.cs
- SelectionRangeConverter.cs
- Popup.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- BooleanFunctions.cs
- ExpressionQuoter.cs
- MultiAsyncResult.cs
- DescendentsWalkerBase.cs
- RuntimeResourceSet.cs
- CommonDialog.cs
- ExpressionNormalizer.cs
- ComEventsSink.cs
- WsrmFault.cs
- TraceProvider.cs
- MultipartIdentifier.cs
- EntitySet.cs
- IteratorFilter.cs
- SessionState.cs
- SystemIcmpV4Statistics.cs
- DetailsViewCommandEventArgs.cs
- ErrorTableItemStyle.cs
- MessageBox.cs
- CompareValidator.cs
- ObjectListField.cs
- QuadraticBezierSegment.cs
- Vector3DKeyFrameCollection.cs
- login.cs
- CompiledWorkflowDefinitionContext.cs
- _UriSyntax.cs
- ElementFactory.cs
- ContentControl.cs
- AliasedExpr.cs
- SQLDateTimeStorage.cs
- StartUpEventArgs.cs
- CompilationLock.cs
- CheckBox.cs
- SoapIncludeAttribute.cs
- DivideByZeroException.cs
- IdnElement.cs
- FreezableCollection.cs
- MenuBase.cs
- CharUnicodeInfo.cs
- BaseParaClient.cs
- HttpModuleActionCollection.cs
- SizeConverter.cs
- XmlException.cs
- WebBrowserBase.cs
- TransactionChannelListener.cs
- FormViewPagerRow.cs
- AdornerLayer.cs
- ShutDownListener.cs
- RealizationContext.cs
- AuthorizationRuleCollection.cs
- HMACRIPEMD160.cs
- FamilyTypeface.cs
- WebPartMinimizeVerb.cs
- GenericRootAutomationPeer.cs
- TextShapeableCharacters.cs
- TaiwanCalendar.cs
- RoutedPropertyChangedEventArgs.cs
- ProfileInfo.cs
- SqlInfoMessageEvent.cs
- CodeAttributeArgument.cs
- DisplayMemberTemplateSelector.cs
- Imaging.cs
- XmlExceptionHelper.cs
- EntitySetDataBindingList.cs
- DetailsViewRow.cs
- Color.cs
- AdapterUtil.cs
- ByteAnimationUsingKeyFrames.cs
- BasePropertyDescriptor.cs
- ButtonField.cs
- StopStoryboard.cs
- ControlAdapter.cs
- XmlChildNodes.cs
- DataGridColumnFloatingHeader.cs
- ConstantSlot.cs
- SystemIcons.cs
- InternalPermissions.cs
- JsonReaderDelegator.cs
- XmlIncludeAttribute.cs
- TreeViewItemAutomationPeer.cs
- WebPartTransformer.cs
- SizeF.cs
- BindableTemplateBuilder.cs
- AuthorizationRuleCollection.cs
- SymDocumentType.cs
- RecordConverter.cs
- CodePrimitiveExpression.cs
- InputScope.cs