Code:
/ DotNET / DotNET / 8.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
- NameValueConfigurationElement.cs
- SafeProcessHandle.cs
- RelOps.cs
- InternalBase.cs
- QueueProcessor.cs
- EventLogger.cs
- DataBindingCollectionConverter.cs
- Span.cs
- TogglePattern.cs
- ErrorHandler.cs
- Domain.cs
- TriState.cs
- SymDocumentType.cs
- ValidationHelper.cs
- MultiView.cs
- MediaContext.cs
- Mapping.cs
- EntityTypeEmitter.cs
- AuthorizationPolicyTypeElementCollection.cs
- XComponentModel.cs
- TemplateContainer.cs
- XmlNode.cs
- EncoderBestFitFallback.cs
- SqlCaseSimplifier.cs
- RSAOAEPKeyExchangeFormatter.cs
- DSASignatureDeformatter.cs
- ComponentEditorForm.cs
- WeakHashtable.cs
- PersonalizationDictionary.cs
- HtmlHead.cs
- CommonDialog.cs
- AmbiguousMatchException.cs
- NotSupportedException.cs
- ContentValidator.cs
- HotSpotCollectionEditor.cs
- PipeSecurity.cs
- PropertyManager.cs
- TimelineGroup.cs
- TemplateContainer.cs
- GridViewRowEventArgs.cs
- ToolConsole.cs
- XmlAttribute.cs
- HandlerFactoryCache.cs
- SafeMILHandleMemoryPressure.cs
- RecordBuilder.cs
- XmlTextWriter.cs
- OdbcFactory.cs
- RequestCachePolicy.cs
- RNGCryptoServiceProvider.cs
- QilStrConcat.cs
- SqlGatherProducedAliases.cs
- XmlSerializationWriter.cs
- NameScopePropertyAttribute.cs
- ActivityUtilities.cs
- TextEffectResolver.cs
- DataControlFieldCell.cs
- RadioButtonRenderer.cs
- TableHeaderCell.cs
- PropertyStore.cs
- ADMembershipProvider.cs
- WorkflowMarkupSerializationProvider.cs
- DropDownButton.cs
- InfocardChannelParameter.cs
- TagMapInfo.cs
- TextSearch.cs
- WeakKeyDictionary.cs
- X509Certificate.cs
- SqlDependency.cs
- _ProxyRegBlob.cs
- DefinitionUpdate.cs
- KeyBinding.cs
- RSAOAEPKeyExchangeDeformatter.cs
- XPathScanner.cs
- Thickness.cs
- DrawToolTipEventArgs.cs
- Control.cs
- PaintValueEventArgs.cs
- OdbcErrorCollection.cs
- FilterableAttribute.cs
- _CookieModule.cs
- ColorTransformHelper.cs
- OdbcTransaction.cs
- HtmlUtf8RawTextWriter.cs
- ScriptHandlerFactory.cs
- XmlSchemaParticle.cs
- InvokeMethodActivity.cs
- OperationAbortedException.cs
- BamlLocalizableResource.cs
- ResourceDescriptionAttribute.cs
- DataSourceControlBuilder.cs
- DoWorkEventArgs.cs
- EntityCommandDefinition.cs
- DataObjectSettingDataEventArgs.cs
- SerialPinChanges.cs
- DataQuery.cs
- TabItemAutomationPeer.cs
- DesignerDataParameter.cs
- DataExchangeServiceBinder.cs
- SchemaElementDecl.cs
- CodeRemoveEventStatement.cs