Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- StringCollectionMarkupSerializer.cs
- View.cs
- AlignmentXValidation.cs
- Grammar.cs
- XPathNodeIterator.cs
- CharEntityEncoderFallback.cs
- BooleanSwitch.cs
- SessionIDManager.cs
- QueryCursorEventArgs.cs
- Point4D.cs
- SqlBuffer.cs
- AutomationProperties.cs
- Quaternion.cs
- SmiSettersStream.cs
- XsdBuilder.cs
- DataServiceProviderMethods.cs
- BitmapFrameEncode.cs
- StyleXamlParser.cs
- RequestCacheValidator.cs
- InstanceDescriptor.cs
- DataGridViewImageColumn.cs
- SelectionWordBreaker.cs
- FileUpload.cs
- BrowserCapabilitiesCompiler.cs
- TriggerAction.cs
- OraclePermissionAttribute.cs
- TreeViewHitTestInfo.cs
- ErrorProvider.cs
- RelatedEnd.cs
- InternalControlCollection.cs
- DesigntimeLicenseContext.cs
- WindowHideOrCloseTracker.cs
- WhitespaceRuleLookup.cs
- DelegatingHeader.cs
- XmlTextReader.cs
- XmlAttributeOverrides.cs
- PeerNameRecordCollection.cs
- ViewStateModeByIdAttribute.cs
- StorageEntitySetMapping.cs
- SqlCacheDependencyDatabaseCollection.cs
- NativeObjectSecurity.cs
- DataServiceHostWrapper.cs
- ObjectQuery.cs
- StringAnimationUsingKeyFrames.cs
- RtfControls.cs
- XmlHierarchyData.cs
- ErrorFormatter.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- ResourceSet.cs
- PeerMessageDispatcher.cs
- SiteMapPath.cs
- DynamicRenderer.cs
- SpeakInfo.cs
- MulticastOption.cs
- QilTargetType.cs
- precedingquery.cs
- WorkflowFileItem.cs
- ContractMapping.cs
- RectangleConverter.cs
- ChameleonKey.cs
- WebHttpSecurityElement.cs
- HandlerWithFactory.cs
- FileInfo.cs
- InputProviderSite.cs
- WebPermission.cs
- WebColorConverter.cs
- RequestCachePolicy.cs
- Util.cs
- SimpleApplicationHost.cs
- WebCategoryAttribute.cs
- ProbeDuplexAsyncResult.cs
- ActivationArguments.cs
- listitem.cs
- ZipIOLocalFileHeader.cs
- TextServicesLoader.cs
- WorkflowRuntimeElement.cs
- HttpHandlerActionCollection.cs
- FunctionNode.cs
- AnnotationObservableCollection.cs
- ContainsRowNumberChecker.cs
- PageSetupDialog.cs
- ValueTable.cs
- AdCreatedEventArgs.cs
- StateBag.cs
- SmtpClient.cs
- DeflateStream.cs
- HitTestResult.cs
- XmlSchemaImport.cs
- ApplyHostConfigurationBehavior.cs
- CodeParameterDeclarationExpression.cs
- SamlAuthorizationDecisionClaimResource.cs
- CancellationTokenRegistration.cs
- Formatter.cs
- SqlClientWrapperSmiStreamChars.cs
- ImpersonateTokenRef.cs
- GridViewColumnCollection.cs
- StylusShape.cs
- QilScopedVisitor.cs
- Utils.cs
- DictionaryChange.cs