Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / PasswordBoxAutomationPeer.cs / 1305600 / PasswordBoxAutomationPeer.cs
//---------------------------------------------------------------------------- // // File: PasswordBoxAutomationPeer.cs // // Copyright (C) Microsoft Corporation. All rights reserved. // // Description: The AutomationPeer for PasswordBox. // //--------------------------------------------------------------------------- using System; using System.Collections.Generic; 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 System.Windows.Documents; using MS.Internal; using MS.Internal.Automation; using MS.Win32; namespace System.Windows.Automation.Peers { /// public class PasswordBoxAutomationPeer : TextAutomationPeer, 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.Text) { if (_textPattern == null) { _textPattern = new TextAdaptor(this, ((PasswordBox)Owner).TextContainer); } returnValue = _textPattern; } else if (patternInterface == PatternInterface.Scroll) { PasswordBox owner = (PasswordBox)Owner; if (owner.ScrollViewer != null) { returnValue = owner.ScrollViewer.CreateAutomationPeer(); ((AutomationPeer)returnValue).EventsSource = this; } } else { returnValue = base.GetPattern(patternInterface); } 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); } } ////// Gets collection of AutomationPeers for given text range. /// internal override ListGetAutomationPeersFromRange(ITextPointer start, ITextPointer end) { return new List (); } private TextAdaptor _textPattern; } } // 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.Collections.Generic; 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 System.Windows.Documents; using MS.Internal; using MS.Internal.Automation; using MS.Win32; namespace System.Windows.Automation.Peers { /// public class PasswordBoxAutomationPeer : TextAutomationPeer, 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.Text) { if (_textPattern == null) { _textPattern = new TextAdaptor(this, ((PasswordBox)Owner).TextContainer); } returnValue = _textPattern; } else if (patternInterface == PatternInterface.Scroll) { PasswordBox owner = (PasswordBox)Owner; if (owner.ScrollViewer != null) { returnValue = owner.ScrollViewer.CreateAutomationPeer(); ((AutomationPeer)returnValue).EventsSource = this; } } else { returnValue = base.GetPattern(patternInterface); } 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); } } ////// Gets collection of AutomationPeers for given text range. /// internal override ListGetAutomationPeersFromRange(ITextPointer start, ITextPointer end) { return new List (); } private TextAdaptor _textPattern; } } // 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
- NamespaceDisplayAutomationPeer.cs
- BaseParagraph.cs
- DependencyObjectProvider.cs
- ComboBox.cs
- _ChunkParse.cs
- PathFigure.cs
- PerformanceCounter.cs
- ExpandSegmentCollection.cs
- XmlEncodedRawTextWriter.cs
- ViewLoader.cs
- ApplicationTrust.cs
- PeerChannelFactory.cs
- RequestCachePolicyConverter.cs
- ValueType.cs
- ProtectedConfigurationSection.cs
- Html32TextWriter.cs
- ISCIIEncoding.cs
- TemplatedWizardStep.cs
- NavigationExpr.cs
- ObjectCloneHelper.cs
- MaterialGroup.cs
- CodeIterationStatement.cs
- UpdateDelegates.Generated.cs
- BeginEvent.cs
- FormViewPageEventArgs.cs
- SQLDouble.cs
- IntPtr.cs
- BitmapFrameDecode.cs
- httpserverutility.cs
- DBAsyncResult.cs
- ProcessInfo.cs
- ComponentChangingEvent.cs
- FixedFindEngine.cs
- RawStylusActions.cs
- AdjustableArrowCap.cs
- PageSetupDialog.cs
- SplashScreenNativeMethods.cs
- UrlMappingsSection.cs
- EndpointAddressMessageFilter.cs
- EpmTargetTree.cs
- DebugView.cs
- WebBrowserPermission.cs
- TemplateXamlParser.cs
- CodeDomConfigurationHandler.cs
- TextDecorationCollection.cs
- TrackingServices.cs
- EngineSiteSapi.cs
- LassoHelper.cs
- Timer.cs
- ParamArrayAttribute.cs
- PropertyPathConverter.cs
- UpDownEvent.cs
- ControlLocalizer.cs
- TypeDelegator.cs
- StylusPointCollection.cs
- MenuBindingsEditor.cs
- XhtmlBasicCalendarAdapter.cs
- CacheChildrenQuery.cs
- XmlTextAttribute.cs
- ForeignConstraint.cs
- SafeNativeMethods.cs
- Comparer.cs
- XmlSerializationGeneratedCode.cs
- OptionUsage.cs
- URLMembershipCondition.cs
- CultureTableRecord.cs
- MappingSource.cs
- FileLogRecordEnumerator.cs
- GroupBox.cs
- SetStateDesigner.cs
- FileDialog_Vista.cs
- HtmlProps.cs
- StatusBarDrawItemEvent.cs
- InputScopeNameConverter.cs
- XmlSchemaParticle.cs
- WindowsStartMenu.cs
- Rectangle.cs
- ManagementInstaller.cs
- BCryptNative.cs
- TypeElement.cs
- SqlConnectionStringBuilder.cs
- OdbcConnection.cs
- TcpAppDomainProtocolHandler.cs
- MethodBuilderInstantiation.cs
- InstanceNotReadyException.cs
- NamedPipeConnectionPool.cs
- WebPartConnectionsConfigureVerb.cs
- TextMetrics.cs
- Literal.cs
- ToolboxItemSnapLineBehavior.cs
- XmlWriterSettings.cs
- MobileTextWriter.cs
- ClientUIRequest.cs
- OutputCache.cs
- SessionEndingCancelEventArgs.cs
- CustomBindingElement.cs
- SqlCacheDependencyDatabaseCollection.cs
- WeakReadOnlyCollection.cs
- SelectionEditingBehavior.cs
- InstanceData.cs