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
- SafeCryptHandles.cs
- CharKeyFrameCollection.cs
- AnnotationComponentManager.cs
- PolicyLevel.cs
- MatchAttribute.cs
- AdornerPresentationContext.cs
- UserThread.cs
- XPathScanner.cs
- RijndaelManaged.cs
- DragDropManager.cs
- ValueConversionAttribute.cs
- ImageFormat.cs
- ContextMenuStripGroupCollection.cs
- MetafileHeader.cs
- ApplicationCommands.cs
- FontStretches.cs
- TraceContext.cs
- CompressedStack.cs
- XsltCompileContext.cs
- CommittableTransaction.cs
- ComponentCommands.cs
- RequestQueue.cs
- TransformConverter.cs
- InstanceHandleReference.cs
- KeyValuePairs.cs
- dataprotectionpermission.cs
- CultureInfoConverter.cs
- PriorityBinding.cs
- Panel.cs
- OpenTypeMethods.cs
- SyntaxCheck.cs
- XPathNavigatorReader.cs
- IndicShape.cs
- RelatedView.cs
- XmlSchemaChoice.cs
- DrawingAttributeSerializer.cs
- ChannelSinkStacks.cs
- PermissionAttributes.cs
- SingleObjectCollection.cs
- ArraySubsetEnumerator.cs
- SafeProcessHandle.cs
- WebSysDefaultValueAttribute.cs
- GACMembershipCondition.cs
- PrimitiveType.cs
- SamlDoNotCacheCondition.cs
- HandleRef.cs
- XmlSchemaSubstitutionGroup.cs
- SafeNativeMethods.cs
- CompositeKey.cs
- UseAttributeSetsAction.cs
- HostExecutionContextManager.cs
- basecomparevalidator.cs
- PropertyCollection.cs
- QueryResponse.cs
- DataGridViewCellStyleConverter.cs
- RequestResizeEvent.cs
- BrowserCapabilitiesCompiler.cs
- HeaderUtility.cs
- MappingMetadataHelper.cs
- WebBrowserNavigatedEventHandler.cs
- AnchoredBlock.cs
- DbSetClause.cs
- XmlRawWriterWrapper.cs
- Oci.cs
- AssemblyCollection.cs
- TripleDESCryptoServiceProvider.cs
- ParameterCollectionEditor.cs
- PostBackOptions.cs
- FileFormatException.cs
- EntityContainerAssociationSet.cs
- Win32MouseDevice.cs
- XAMLParseException.cs
- ObjectDataSourceSelectingEventArgs.cs
- WebPartCollection.cs
- ListViewItem.cs
- HtmlShim.cs
- SecurityTokenProvider.cs
- DerivedKeyCachingSecurityTokenSerializer.cs
- Vector3DCollectionValueSerializer.cs
- ColorConvertedBitmap.cs
- BaseProcessor.cs
- SessionStateModule.cs
- XPathArrayIterator.cs
- PnrpPermission.cs
- DataGridViewImageColumn.cs
- DataSourceDescriptorCollection.cs
- NetDispatcherFaultException.cs
- TextRangeEdit.cs
- HttpDebugHandler.cs
- EntityKeyElement.cs
- RbTree.cs
- InstanceNameConverter.cs
- EventBuilder.cs
- FormsAuthenticationConfiguration.cs
- ThreadExceptionEvent.cs
- Button.cs
- BaseAddressPrefixFilterElementCollection.cs
- EntityDataSourceValidationException.cs
- XmlSchemaInferenceException.cs
- InputBinder.cs