Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / localization.cs / 1305600 / 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
- CachedPathData.cs
- ProcessHostMapPath.cs
- BlurEffect.cs
- TextParagraphView.cs
- XmlNamespaceDeclarationsAttribute.cs
- EditorPartChrome.cs
- QueryableFilterRepeater.cs
- TextBoxBase.cs
- RubberbandSelector.cs
- AudioSignalProblemOccurredEventArgs.cs
- FontFamilyConverter.cs
- MobileComponentEditorPage.cs
- RecognizerStateChangedEventArgs.cs
- DatatypeImplementation.cs
- documentation.cs
- UrlAuthFailedErrorFormatter.cs
- PowerModeChangedEventArgs.cs
- ModelTreeEnumerator.cs
- WinEventTracker.cs
- ReadOnlyDataSource.cs
- ActivityCodeDomReferenceService.cs
- Point3DAnimationUsingKeyFrames.cs
- TextDecorationLocationValidation.cs
- RegexCode.cs
- ObjectDataSourceEventArgs.cs
- xmlglyphRunInfo.cs
- FileNotFoundException.cs
- CancelRequestedRecord.cs
- ProtocolException.cs
- HideDisabledControlAdapter.cs
- XmlSchemaParticle.cs
- RemoveStoryboard.cs
- _NTAuthentication.cs
- ObjectDataSourceMethodEventArgs.cs
- StoreItemCollection.Loader.cs
- SqlUtils.cs
- RoleManagerEventArgs.cs
- XmlSchemas.cs
- ExceptionRoutedEventArgs.cs
- Choices.cs
- NamespaceList.cs
- StorageAssociationSetMapping.cs
- ContentFilePart.cs
- XmlAnyAttributeAttribute.cs
- OperationPickerDialog.cs
- RowType.cs
- RealizationContext.cs
- CodeCatchClause.cs
- ListView.cs
- StaticFileHandler.cs
- ArgumentOutOfRangeException.cs
- TranslateTransform3D.cs
- X509ChainPolicy.cs
- SystemColorTracker.cs
- ReadContentAsBinaryHelper.cs
- TreeNodeCollectionEditor.cs
- UrlAuthFailedErrorFormatter.cs
- TableLayoutPanelResizeGlyph.cs
- ListViewItemEventArgs.cs
- PerformanceCounter.cs
- Pens.cs
- MimeWriter.cs
- ExpressionLexer.cs
- FormsAuthenticationEventArgs.cs
- DataGridCellInfo.cs
- WebPartTracker.cs
- NativeMethods.cs
- NativeMethods.cs
- EdmType.cs
- SkipStoryboardToFill.cs
- ErrorHandler.cs
- _NegoState.cs
- WhitespaceReader.cs
- XMLDiffLoader.cs
- InternalResources.cs
- DefaultValueTypeConverter.cs
- MediaTimeline.cs
- LinqDataSourceInsertEventArgs.cs
- TextModifier.cs
- PackageDigitalSignatureManager.cs
- VersionPair.cs
- WmlValidatorAdapter.cs
- TypeReference.cs
- WorkflowInstanceSuspendedRecord.cs
- UnknownWrapper.cs
- CanExecuteRoutedEventArgs.cs
- SpoolingTask.cs
- RotateTransform3D.cs
- ICollection.cs
- FlowLayoutSettings.cs
- XPathException.cs
- WebPartsSection.cs
- AnimationClock.cs
- BinaryObjectReader.cs
- XPathSingletonIterator.cs
- DataSourceControlBuilder.cs
- TimeEnumHelper.cs
- QilFactory.cs
- HttpVersion.cs
- SafeNativeMethods.cs