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
- CacheDependency.cs
- WindowsFont.cs
- SchemaInfo.cs
- SqlColumnizer.cs
- ConfigUtil.cs
- CompositeKey.cs
- WebMessageEncodingElement.cs
- SessionSwitchEventArgs.cs
- AssemblyUtil.cs
- InkCanvas.cs
- ComProxy.cs
- MsmqAppDomainProtocolHandler.cs
- StreamResourceInfo.cs
- SqlUserDefinedTypeAttribute.cs
- TokenBasedSet.cs
- ObjectStateManager.cs
- HMACRIPEMD160.cs
- StateDesigner.TransitionInfo.cs
- CanExecuteRoutedEventArgs.cs
- ClientApiGenerator.cs
- Coordinator.cs
- PixelFormat.cs
- Grid.cs
- ShaperBuffers.cs
- Divide.cs
- EllipticalNodeOperations.cs
- DateRangeEvent.cs
- TlsnegoTokenProvider.cs
- SqlReorderer.cs
- HtmlInputText.cs
- X509SecurityTokenProvider.cs
- PlaceHolder.cs
- Matrix3D.cs
- DynamicMetaObject.cs
- StandardToolWindows.cs
- StringValidator.cs
- RuntimeComponentFilter.cs
- XmlIlVisitor.cs
- ImpersonationContext.cs
- FullTextBreakpoint.cs
- DataTableTypeConverter.cs
- AnnotationComponentChooser.cs
- ResXFileRef.cs
- AsyncOperation.cs
- ObjectDisposedException.cs
- Control.cs
- DocumentViewerConstants.cs
- ClientSponsor.cs
- SwitchAttribute.cs
- GroupQuery.cs
- WebResponse.cs
- GridViewItemAutomationPeer.cs
- AssemblyCache.cs
- ListViewSortEventArgs.cs
- SolidBrush.cs
- PerformanceCounterCategory.cs
- DatePickerAutomationPeer.cs
- Solver.cs
- HashSet.cs
- xmlsaver.cs
- JoinTreeSlot.cs
- DropShadowBitmapEffect.cs
- Transform.cs
- DataFieldEditor.cs
- MbpInfo.cs
- DataContractFormatAttribute.cs
- FilterableAttribute.cs
- HMACMD5.cs
- InvalidCardException.cs
- ServicePointManagerElement.cs
- Registry.cs
- PolyBezierSegmentFigureLogic.cs
- WorkflowShape.cs
- SyndicationFeed.cs
- HttpResponseHeader.cs
- SynchronizedDispatch.cs
- ClientApiGenerator.cs
- CurrentChangedEventManager.cs
- ConnectivityStatus.cs
- NamedPipeConnectionPoolSettingsElement.cs
- TypeEnumerableViewSchema.cs
- EntityViewGenerationConstants.cs
- ParseChildrenAsPropertiesAttribute.cs
- MonthCalendarDesigner.cs
- Property.cs
- complextypematerializer.cs
- XmlNodeReader.cs
- GlyphsSerializer.cs
- PropertyPathConverter.cs
- Bits.cs
- SqlCharStream.cs
- CacheForPrimitiveTypes.cs
- MouseEventArgs.cs
- PassportPrincipal.cs
- PointCollection.cs
- ToolStripOverflowButton.cs
- DependencyProperty.cs
- DataGridViewCellStyle.cs
- OuterGlowBitmapEffect.cs
- WebPartDescription.cs