Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / Automation / Peers / PasswordBoxAutomationPeer.cs / 1 / PasswordBoxAutomationPeer.cs
//---------------------------------------------------------------------------- // // File: PasswordBoxAutomationPeer.cs // // Copyright (C) Microsoft Corporation. All rights reserved. // // Description: The AutomationPeer for PasswordBox. // //--------------------------------------------------------------------------- using System; using System.Runtime.InteropServices; using System.Security; using System.Text; using System.Windows; using System.Windows.Automation.Provider; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Interop; using System.Windows.Media; using MS.Internal; using MS.Win32; namespace System.Windows.Automation.Peers { /// public class PasswordBoxAutomationPeer : FrameworkElementAutomationPeer, IValueProvider { ////// Constructor /// /// PasswordBox for which this is an AutomationPeer public PasswordBoxAutomationPeer(PasswordBox owner): base(owner) {} ////// Class name for the type for which this is a peer. /// ///override protected string GetClassNameCore() { return "PasswordBox"; } /// /// Type for which this is a peer. /// ///override protected AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.Edit; } /// /// Return the patterns supported by PasswordBoxAutomationPeer /// /// ///override public object GetPattern(PatternInterface patternInterface) { object returnValue = null; if (patternInterface == PatternInterface.Value) { returnValue = this; } else if (patternInterface == PatternInterface.Scroll) { PasswordBox owner = (PasswordBox)Owner; if (owner.ScrollViewer != null) { returnValue = owner.ScrollViewer.CreateAutomationPeer(); ((AutomationPeer)returnValue).EventsSource = this; } } return returnValue; } /// /// Indicates whether or not this is a password control /// ///true override protected bool IsPasswordCore() { return true; } bool IValueProvider.IsReadOnly { get { return false; } } string IValueProvider.Value { get { throw new InvalidOperationException(); } } void IValueProvider.SetValue(string value) { if(!IsEnabled()) throw new ElementNotEnabledException(); PasswordBox owner = (PasswordBox)Owner; if (value == null) { throw new ArgumentNullException("value"); } owner.Password = value; } // [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] internal void RaiseValuePropertyChangedEvent(string oldValue, string newValue) { if (oldValue != newValue) { RaisePropertyChangedEvent(ValuePatternIdentifiers.ValueProperty, oldValue, newValue); } } // [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] internal void RaiseIsReadOnlyPropertyChangedEvent(bool oldValue, bool newValue) { if (oldValue != newValue) { RaisePropertyChangedEvent(ValuePatternIdentifiers.IsReadOnlyProperty, oldValue, newValue); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // // File: PasswordBoxAutomationPeer.cs // // Copyright (C) Microsoft Corporation. All rights reserved. // // Description: The AutomationPeer for PasswordBox. // //--------------------------------------------------------------------------- using System; using System.Runtime.InteropServices; using System.Security; using System.Text; using System.Windows; using System.Windows.Automation.Provider; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Interop; using System.Windows.Media; using MS.Internal; using MS.Win32; namespace System.Windows.Automation.Peers { /// public class PasswordBoxAutomationPeer : FrameworkElementAutomationPeer, IValueProvider { ////// Constructor /// /// PasswordBox for which this is an AutomationPeer public PasswordBoxAutomationPeer(PasswordBox owner): base(owner) {} ////// Class name for the type for which this is a peer. /// ///override protected string GetClassNameCore() { return "PasswordBox"; } /// /// Type for which this is a peer. /// ///override protected AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.Edit; } /// /// Return the patterns supported by PasswordBoxAutomationPeer /// /// ///override public object GetPattern(PatternInterface patternInterface) { object returnValue = null; if (patternInterface == PatternInterface.Value) { returnValue = this; } else if (patternInterface == PatternInterface.Scroll) { PasswordBox owner = (PasswordBox)Owner; if (owner.ScrollViewer != null) { returnValue = owner.ScrollViewer.CreateAutomationPeer(); ((AutomationPeer)returnValue).EventsSource = this; } } return returnValue; } /// /// Indicates whether or not this is a password control /// ///true override protected bool IsPasswordCore() { return true; } bool IValueProvider.IsReadOnly { get { return false; } } string IValueProvider.Value { get { throw new InvalidOperationException(); } } void IValueProvider.SetValue(string value) { if(!IsEnabled()) throw new ElementNotEnabledException(); PasswordBox owner = (PasswordBox)Owner; if (value == null) { throw new ArgumentNullException("value"); } owner.Password = value; } // [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] internal void RaiseValuePropertyChangedEvent(string oldValue, string newValue) { if (oldValue != newValue) { RaisePropertyChangedEvent(ValuePatternIdentifiers.ValueProperty, oldValue, newValue); } } // [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] internal void RaiseIsReadOnlyPropertyChangedEvent(bool oldValue, bool newValue) { if (oldValue != newValue) { RaisePropertyChangedEvent(ValuePatternIdentifiers.IsReadOnlyProperty, oldValue, newValue); } } } } // 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
- PersonalizationEntry.cs
- SingleConverter.cs
- ToolStripPanelRow.cs
- DataGridViewCellStyleChangedEventArgs.cs
- filewebrequest.cs
- TextDecorationCollection.cs
- LicenseManager.cs
- WebConvert.cs
- PaintValueEventArgs.cs
- AdditionalEntityFunctions.cs
- propertytag.cs
- ConfigXmlReader.cs
- Converter.cs
- HyperLink.cs
- PassportPrincipal.cs
- LinkUtilities.cs
- RoutedEventConverter.cs
- Message.cs
- NativeMethods.cs
- ButtonPopupAdapter.cs
- GeometryHitTestParameters.cs
- SHA384Cng.cs
- CaseStatementSlot.cs
- Visitors.cs
- FileSystemWatcher.cs
- DependencyObject.cs
- ParseChildrenAsPropertiesAttribute.cs
- DataView.cs
- Emitter.cs
- RowToFieldTransformer.cs
- SourceItem.cs
- ConfigurationException.cs
- QueryIntervalOp.cs
- OperationInvokerTrace.cs
- CollectionBuilder.cs
- COMException.cs
- DescendentsWalker.cs
- RegexEditorDialog.cs
- AxisAngleRotation3D.cs
- xdrvalidator.cs
- InstancePersistenceCommandException.cs
- PersistencePipeline.cs
- basevalidator.cs
- OdbcCommandBuilder.cs
- ExternalException.cs
- DirectoryInfo.cs
- DataColumnCollection.cs
- MembershipValidatePasswordEventArgs.cs
- DesignerActionItemCollection.cs
- LogStream.cs
- HtmlAnchor.cs
- BaseCollection.cs
- ProcessDesigner.cs
- TrackBarDesigner.cs
- CharacterMetricsDictionary.cs
- VersionPair.cs
- CompilerErrorCollection.cs
- Bezier.cs
- LogLogRecordEnumerator.cs
- ListViewTableCell.cs
- CqlErrorHelper.cs
- DataGridColumnHeaderAutomationPeer.cs
- ReadOnlyCollectionBase.cs
- DigestComparer.cs
- bindurihelper.cs
- Transform.cs
- Lock.cs
- AttributeProviderAttribute.cs
- ProofTokenCryptoHandle.cs
- StringInfo.cs
- NavigatorInput.cs
- DesignerDataView.cs
- HtmlTextArea.cs
- StylusCollection.cs
- SemanticResultKey.cs
- XmlSerializationWriter.cs
- CoreSwitches.cs
- initElementDictionary.cs
- ScriptRegistrationManager.cs
- RuntimeCompatibilityAttribute.cs
- ValueTypeFixupInfo.cs
- TdsParameterSetter.cs
- CounterCreationDataConverter.cs
- ToolStripDropDownButton.cs
- BoolLiteral.cs
- WebPartPersonalization.cs
- PropertyNames.cs
- XmlCharCheckingReader.cs
- XmlBindingWorker.cs
- XmlSignificantWhitespace.cs
- ButtonFieldBase.cs
- JournalNavigationScope.cs
- OleDbWrapper.cs
- DetailsViewPagerRow.cs
- ChangeProcessor.cs
- UTF32Encoding.cs
- DispatcherExceptionEventArgs.cs
- ParsedAttributeCollection.cs
- RecordsAffectedEventArgs.cs
- TimeZone.cs