Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / WebControls / LocalizeDesigner.cs / 1 / LocalizeDesigner.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design.WebControls { using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Design; using System.Diagnostics; using System.Globalization; using System.Text; using System.Web.UI.Design; using System.Web.UI.WebControls; [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)] [SupportsPreviewControl(true)] internal class LocalizeDesigner : LiteralDesigner { private const string DesignTimeHtml = @""; public override string GetDesignTimeHtml(DesignerRegionCollection regions) { EditableDesignerRegion region = new EditableDesignerRegion(this, "Text"); region.Description = SR.GetString(SR.LocalizeDesigner_RegionWatermark); region.Properties[typeof(Control)] = Component; regions.Add(region); return String.Format(CultureInfo.InvariantCulture, DesignTimeHtml, DesignerRegion.DesignerRegionAttributeName); } public override string GetEditableDesignerRegionContent(EditableDesignerRegion region) { PropertyDescriptor propDesc = TypeDescriptor.GetProperties(Component)["Text"]; return (string)propDesc.GetValue(Component); } public override void SetEditableDesignerRegionContent(EditableDesignerRegion region, string content) { string text = content; try { IDesignerHost designerHost = (IDesignerHost)GetService(typeof(IDesignerHost)); Control[] controls = ControlParser.ParseControls(designerHost, content); text = String.Empty; foreach (Control c in controls) { LiteralControl literal = c as LiteralControl; if (literal != null) { text += literal.Text; } } } catch { // In the unlikely event that there is an error parsing controls from the // region content, we just end up using the raw content as the Text property. // It's highly unlikely to ever throw an exception since the tool just // persisted the content moments earlier. } PropertyDescriptor propDesc = TypeDescriptor.GetProperties(Component)["Text"]; propDesc.SetValue(Component, text); } protected override void PostFilterProperties(IDictionary properties) { // Hide all properties except for ID HideAllPropertiesExceptID(properties); base.PostFilterAttributes(properties); } } } // 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
- SessionStateModule.cs
- RichTextBox.cs
- DataGridItemCollection.cs
- NativeMethods.cs
- GridViewUpdatedEventArgs.cs
- TargetPerspective.cs
- DataGridViewTextBoxCell.cs
- FtpCachePolicyElement.cs
- ProfilePropertyNameValidator.cs
- BindingWorker.cs
- BamlMapTable.cs
- ConfigXmlReader.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- SqlConnection.cs
- BamlVersionHeader.cs
- ProjectedSlot.cs
- XmlDataDocument.cs
- PenThreadPool.cs
- OrderedDictionaryStateHelper.cs
- GridView.cs
- SafeNativeMethodsOther.cs
- compensatingcollection.cs
- WebBrowserContainer.cs
- CommandBindingCollection.cs
- XmlSerializationGeneratedCode.cs
- HttpInputStream.cs
- References.cs
- TraceListener.cs
- SpellerStatusTable.cs
- MarkupCompiler.cs
- ResXBuildProvider.cs
- SystemInfo.cs
- HttpWebRequest.cs
- GorillaCodec.cs
- LicenseManager.cs
- Hyperlink.cs
- IndividualDeviceConfig.cs
- GridLengthConverter.cs
- SerializationEventsCache.cs
- ArrayTypeMismatchException.cs
- TextRenderer.cs
- BooleanAnimationUsingKeyFrames.cs
- Int64Converter.cs
- ObjectIDGenerator.cs
- ByteStorage.cs
- Exceptions.cs
- BuildProviderCollection.cs
- BuildProviderCollection.cs
- ServiceDescriptionReflector.cs
- GroupBoxRenderer.cs
- arc.cs
- LinqDataSourceContextEventArgs.cs
- ContextMenuAutomationPeer.cs
- DES.cs
- SelectionWordBreaker.cs
- ObjectPropertyMapping.cs
- ScrollContentPresenter.cs
- RelatedEnd.cs
- EnumMember.cs
- Assembly.cs
- Sequence.cs
- HandledEventArgs.cs
- UdpAnnouncementEndpoint.cs
- _ConnectOverlappedAsyncResult.cs
- ResponseBodyWriter.cs
- EncoderFallback.cs
- SemaphoreSecurity.cs
- CellQuery.cs
- ItemsControlAutomationPeer.cs
- HtmlGenericControl.cs
- BitVector32.cs
- OleDbWrapper.cs
- ChameleonKey.cs
- LockCookie.cs
- TypeResolvingOptionsAttribute.cs
- ApplySecurityAndSendAsyncResult.cs
- ApplicationSecurityManager.cs
- NumberAction.cs
- WorkflowServiceHost.cs
- DbConnectionPoolGroup.cs
- DBSqlParserColumn.cs
- TreeViewBindingsEditor.cs
- FontFamilyConverter.cs
- DbReferenceCollection.cs
- UniqueConstraint.cs
- OpenTypeLayoutCache.cs
- DependencyPropertyHelper.cs
- AsynchronousChannelMergeEnumerator.cs
- ToolStripItem.cs
- CompoundFileStreamReference.cs
- DefaultEvaluationContext.cs
- ProfileEventArgs.cs
- DivideByZeroException.cs
- GuidelineCollection.cs
- DataStorage.cs
- MetadataExchangeClient.cs
- AssemblyNameProxy.cs
- GatewayDefinition.cs
- RangeValidator.cs
- RuleRefElement.cs