Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / localization.cs / 1 / localization.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Localization.Comments & Localization.Attributes attached properties // // History: // 12/4/2004: Garyyang Created the file // 3/11/2005: garyyang rename Loc to Localization class // //--------------------------------------------------------------------------- using System.Collections; using System.Diagnostics; using MS.Internal.Globalization; namespace System.Windows { // // Note: the class name and property name must be kept in [....]'ed with // Framework\MS\Internal\Globalization\LocalizationComments.cs file. // Compiler checks for them by literal string comparisons. // ////// Class defines attached properties for Comments and Localizability /// public static class Localization { ////// DependencyProperty for Comments property. /// public static readonly DependencyProperty CommentsProperty = DependencyProperty.RegisterAttached( "Comments", typeof(string), typeof(Localization) ); ////// DependencyProperty for Localizability property. /// public static readonly DependencyProperty AttributesProperty = DependencyProperty.RegisterAttached( "Attributes", typeof(string), typeof(Localization) ); ////// Reads the attached property Comments from given element. /// /// The element from which to read the attached property. ///The property's value. [AttachedPropertyBrowsableForType(typeof(object))] public static string GetComments(object element) { if (element == null) { throw new ArgumentNullException("element"); } return GetValue(element, CommentsProperty); } ////// Writes the attached property Comments to the given element. /// /// The element to which to write the attached property. /// The property value to set public static void SetComments(object element, string comments) { if (element == null) { throw new ArgumentNullException("element"); } LocComments.ParsePropertyComments(comments); SetValue(element, CommentsProperty, comments); } ////// Reads the attached property Localizability from given element. /// /// The element from which to read the attached property. ///The property's value. [AttachedPropertyBrowsableForType(typeof(object))] public static string GetAttributes(object element) { if (element == null) { throw new ArgumentNullException("element"); } return GetValue(element, AttributesProperty); } ////// Writes the attached property Localizability to the given element. /// /// The element to which to write the attached property. /// The property value to set public static void SetAttributes(object element, string attributes) { if (element == null) { throw new ArgumentNullException("element"); } LocComments.ParsePropertyLocalizabilityAttributes(attributes); SetValue(element, AttributesProperty, attributes); } private static string GetValue(object element, DependencyProperty property) { DependencyObject dependencyObject = element as DependencyObject; if (dependencyObject != null) { // For DO, get the value from the property system return (string) dependencyObject.GetValue(property); } // For objects, get the value from our own hashtable if (property == CommentsProperty) { lock(_commentsOnObjects.SyncRoot) { return (string) _commentsOnObjects[element]; } } else { Debug.Assert(property == AttributesProperty); lock(_attributesOnObjects.SyncRoot) { return (string) _attributesOnObjects[element]; } } } private static void SetValue(object element, DependencyProperty property, string value) { DependencyObject dependencyObject = element as DependencyObject; if (dependencyObject != null) { // For DO, store the value in the property system dependencyObject.SetValue(property, value); return; } // For other objects, store the value in our own hashtable if (property == CommentsProperty) { lock(_commentsOnObjects.SyncRoot) { _commentsOnObjects[element] = value; } } else { Debug.Assert(property == AttributesProperty); lock(_attributesOnObjects.SyncRoot) { _attributesOnObjects[element] = value; } } } /// /// private storage for values set on objects /// private static Hashtable _commentsOnObjects = new Hashtable(); private static Hashtable _attributesOnObjects = new Hashtable(); } } // 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. // // // // Description: Localization.Comments & Localization.Attributes attached properties // // History: // 12/4/2004: Garyyang Created the file // 3/11/2005: garyyang rename Loc to Localization class // //--------------------------------------------------------------------------- using System.Collections; using System.Diagnostics; using MS.Internal.Globalization; namespace System.Windows { // // Note: the class name and property name must be kept in [....]'ed with // Framework\MS\Internal\Globalization\LocalizationComments.cs file. // Compiler checks for them by literal string comparisons. // ////// Class defines attached properties for Comments and Localizability /// public static class Localization { ////// DependencyProperty for Comments property. /// public static readonly DependencyProperty CommentsProperty = DependencyProperty.RegisterAttached( "Comments", typeof(string), typeof(Localization) ); ////// DependencyProperty for Localizability property. /// public static readonly DependencyProperty AttributesProperty = DependencyProperty.RegisterAttached( "Attributes", typeof(string), typeof(Localization) ); ////// Reads the attached property Comments from given element. /// /// The element from which to read the attached property. ///The property's value. [AttachedPropertyBrowsableForType(typeof(object))] public static string GetComments(object element) { if (element == null) { throw new ArgumentNullException("element"); } return GetValue(element, CommentsProperty); } ////// Writes the attached property Comments to the given element. /// /// The element to which to write the attached property. /// The property value to set public static void SetComments(object element, string comments) { if (element == null) { throw new ArgumentNullException("element"); } LocComments.ParsePropertyComments(comments); SetValue(element, CommentsProperty, comments); } ////// Reads the attached property Localizability from given element. /// /// The element from which to read the attached property. ///The property's value. [AttachedPropertyBrowsableForType(typeof(object))] public static string GetAttributes(object element) { if (element == null) { throw new ArgumentNullException("element"); } return GetValue(element, AttributesProperty); } ////// Writes the attached property Localizability to the given element. /// /// The element to which to write the attached property. /// The property value to set public static void SetAttributes(object element, string attributes) { if (element == null) { throw new ArgumentNullException("element"); } LocComments.ParsePropertyLocalizabilityAttributes(attributes); SetValue(element, AttributesProperty, attributes); } private static string GetValue(object element, DependencyProperty property) { DependencyObject dependencyObject = element as DependencyObject; if (dependencyObject != null) { // For DO, get the value from the property system return (string) dependencyObject.GetValue(property); } // For objects, get the value from our own hashtable if (property == CommentsProperty) { lock(_commentsOnObjects.SyncRoot) { return (string) _commentsOnObjects[element]; } } else { Debug.Assert(property == AttributesProperty); lock(_attributesOnObjects.SyncRoot) { return (string) _attributesOnObjects[element]; } } } private static void SetValue(object element, DependencyProperty property, string value) { DependencyObject dependencyObject = element as DependencyObject; if (dependencyObject != null) { // For DO, store the value in the property system dependencyObject.SetValue(property, value); return; } // For other objects, store the value in our own hashtable if (property == CommentsProperty) { lock(_commentsOnObjects.SyncRoot) { _commentsOnObjects[element] = value; } } else { Debug.Assert(property == AttributesProperty); lock(_attributesOnObjects.SyncRoot) { _attributesOnObjects[element] = value; } } } /// /// private storage for values set on objects /// private static Hashtable _commentsOnObjects = new Hashtable(); private static Hashtable _attributesOnObjects = new Hashtable(); } } // 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
- CaseStatementProjectedSlot.cs
- ADMembershipProvider.cs
- XmlNodeComparer.cs
- BaseConfigurationRecord.cs
- ObjectDataSourceChooseTypePanel.cs
- DrawingAttributes.cs
- MonitoringDescriptionAttribute.cs
- dtdvalidator.cs
- ScriptDescriptor.cs
- DataTableExtensions.cs
- ObjectReferenceStack.cs
- SelectionHighlightInfo.cs
- BinaryMessageFormatter.cs
- NativeRightsManagementAPIsStructures.cs
- RightsManagementInformation.cs
- SequentialUshortCollection.cs
- XmlBaseReader.cs
- ColorConvertedBitmapExtension.cs
- RemotingConfiguration.cs
- TableItemPatternIdentifiers.cs
- MethodBuilderInstantiation.cs
- TextTreeFixupNode.cs
- ServiceBusyException.cs
- ProbeDuplexCD1AsyncResult.cs
- RotationValidation.cs
- XamlTreeBuilder.cs
- CompositeFontFamily.cs
- XmlAnyElementAttribute.cs
- ResourceDescriptionAttribute.cs
- EntityDataSourceValidationException.cs
- SpeechRecognitionEngine.cs
- XmlReflectionMember.cs
- LinqDataSourceDisposeEventArgs.cs
- ToolStripItemTextRenderEventArgs.cs
- ErrorInfoXmlDocument.cs
- XmlSchemaNotation.cs
- GPRECTF.cs
- HtmlTextArea.cs
- XmlAtomicValue.cs
- CreatingCookieEventArgs.cs
- BridgeDataReader.cs
- CapacityStreamGeometryContext.cs
- AtomicFile.cs
- FixedSOMPageConstructor.cs
- PageTheme.cs
- SqlDataSourceCommandParser.cs
- DocumentationServerProtocol.cs
- __TransparentProxy.cs
- DependencySource.cs
- ObjectDisposedException.cs
- DefaultExpressionVisitor.cs
- LabelDesigner.cs
- AmbiguousMatchException.cs
- addressfiltermode.cs
- NameNode.cs
- ControlLocalizer.cs
- SiblingIterators.cs
- invalidudtexception.cs
- BooleanFacetDescriptionElement.cs
- XPathException.cs
- ScrollBar.cs
- MULTI_QI.cs
- Pair.cs
- SqlDataSourceFilteringEventArgs.cs
- __Error.cs
- AppDomainManager.cs
- TemplateColumn.cs
- HttpConfigurationSystem.cs
- GetChildSubtree.cs
- serverconfig.cs
- XamlPoint3DCollectionSerializer.cs
- HttpTransportElement.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- ExponentialEase.cs
- ParenthesizePropertyNameAttribute.cs
- ItemCollection.cs
- ReferenceEqualityComparer.cs
- httpserverutility.cs
- X509IssuerSerialKeyIdentifierClause.cs
- StronglyTypedResourceBuilder.cs
- SoapAttributes.cs
- DynamicResourceExtension.cs
- Constraint.cs
- ExtentJoinTreeNode.cs
- PermissionToken.cs
- SkinBuilder.cs
- SystemIPGlobalStatistics.cs
- FacetValueContainer.cs
- BufferedGenericXmlSecurityToken.cs
- TextServicesCompartment.cs
- RepeaterCommandEventArgs.cs
- XsltArgumentList.cs
- AccessControlEntry.cs
- SettingsProperty.cs
- BinaryObjectWriter.cs
- DispatcherOperation.cs
- SaveFileDialog.cs
- APCustomTypeDescriptor.cs
- RelatedPropertyManager.cs
- FileLoadException.cs