Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- XmlEventCache.cs
- HtmlInputFile.cs
- SoapFault.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- RowsCopiedEventArgs.cs
- ScriptControlDescriptor.cs
- ReflectionPermission.cs
- VirtualPathData.cs
- StyleCollection.cs
- WSTrustDec2005.cs
- ObjectViewListener.cs
- QilValidationVisitor.cs
- OverrideMode.cs
- JournalEntry.cs
- CommonDialog.cs
- UIntPtr.cs
- VSWCFServiceContractGenerator.cs
- CriticalFinalizerObject.cs
- FrameworkRichTextComposition.cs
- NegotiationTokenProvider.cs
- SqlDataAdapter.cs
- Exceptions.cs
- loginstatus.cs
- ClassicBorderDecorator.cs
- DataGridPreparingCellForEditEventArgs.cs
- RequiredAttributeAttribute.cs
- KnownColorTable.cs
- BitmapEncoder.cs
- AsyncWaitHandle.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- WindowsListViewItemCheckBox.cs
- X509InitiatorCertificateClientElement.cs
- DataGridTableCollection.cs
- QilScopedVisitor.cs
- TextTreeFixupNode.cs
- util.cs
- MimeObjectFactory.cs
- GroupBoxAutomationPeer.cs
- LinqDataSourceContextEventArgs.cs
- FreezableCollection.cs
- SrgsGrammarCompiler.cs
- DesignerRegionCollection.cs
- TemplateControlCodeDomTreeGenerator.cs
- AccessorTable.cs
- HandledEventArgs.cs
- PointCollectionValueSerializer.cs
- followingquery.cs
- XmlSchemaSimpleType.cs
- TaiwanLunisolarCalendar.cs
- TextTrailingCharacterEllipsis.cs
- XmlSchemaAppInfo.cs
- BaseTemplateCodeDomTreeGenerator.cs
- SHA512Cng.cs
- XmlElement.cs
- StaticSiteMapProvider.cs
- ZipIORawDataFileBlock.cs
- RawStylusInput.cs
- HandlerMappingMemo.cs
- WorkerRequest.cs
- LinqDataSourceInsertEventArgs.cs
- FixedSOMPageElement.cs
- ConfigurationValidatorAttribute.cs
- NetworkAddressChange.cs
- PreviousTrackingServiceAttribute.cs
- VerificationException.cs
- ProtectedConfiguration.cs
- InlineObject.cs
- ObjectQueryExecutionPlan.cs
- FunctionCommandText.cs
- ExecutionScope.cs
- TaskResultSetter.cs
- StreamInfo.cs
- ObjectHandle.cs
- FlowNode.cs
- PrintingPermission.cs
- ToolBarPanel.cs
- IntSecurity.cs
- CacheHelper.cs
- PrtCap_Builder.cs
- SqlDataReaderSmi.cs
- DesignerActionTextItem.cs
- StorageEntityTypeMapping.cs
- FtpWebRequest.cs
- SplayTreeNode.cs
- VideoDrawing.cs
- ChannelPoolSettingsElement.cs
- Enum.cs
- SqlClientPermission.cs
- AnnotationDocumentPaginator.cs
- XmlSerializerFormatAttribute.cs
- Constants.cs
- Misc.cs
- InkPresenterAutomationPeer.cs
- MarshalDirectiveException.cs
- XmlSchemaType.cs
- InlineCollection.cs
- OletxCommittableTransaction.cs
- LocalFileSettingsProvider.cs
- RegexCapture.cs
- PagesSection.cs