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
- PageHandlerFactory.cs
- CacheSection.cs
- SizeConverter.cs
- WorkerRequest.cs
- CodeThrowExceptionStatement.cs
- ConfigXmlText.cs
- SafePEFileHandle.cs
- DataGridViewColumnStateChangedEventArgs.cs
- ChangePasswordDesigner.cs
- TabControlCancelEvent.cs
- odbcmetadatafactory.cs
- DataReceivedEventArgs.cs
- Stylesheet.cs
- AspNetRouteServiceHttpHandler.cs
- Byte.cs
- EntityDesignerDataSourceView.cs
- ObjectConverter.cs
- MimeWriter.cs
- OdbcHandle.cs
- HtmlHistory.cs
- AsymmetricSecurityProtocol.cs
- ImageSource.cs
- CheckBoxList.cs
- PopupRootAutomationPeer.cs
- HebrewNumber.cs
- CommandHelper.cs
- BuildResult.cs
- CorrelationKey.cs
- DynamicDataRoute.cs
- QueryConverter.cs
- FieldTemplateFactory.cs
- XamlStyleSerializer.cs
- StrokeFIndices.cs
- IsolatedStorageFilePermission.cs
- StringAnimationUsingKeyFrames.cs
- _Win32.cs
- CompModSwitches.cs
- KnownBoxes.cs
- ElementHostAutomationPeer.cs
- WriteLineDesigner.xaml.cs
- Conditional.cs
- InvalidProgramException.cs
- Configuration.cs
- WizardStepCollectionEditor.cs
- UserNameSecurityToken.cs
- WebPartsPersonalizationAuthorization.cs
- WindowsUpDown.cs
- RectangleF.cs
- InkPresenter.cs
- ExecutionEngineException.cs
- TemplateAction.cs
- CommandField.cs
- Margins.cs
- SiteMapNodeItem.cs
- TextTreeRootTextBlock.cs
- ExternalFile.cs
- PropertyCollection.cs
- TargetInvocationException.cs
- SqlMultiplexer.cs
- ArrangedElement.cs
- QilTargetType.cs
- ImageBrush.cs
- BuildResult.cs
- FontWeights.cs
- StrokeCollection.cs
- DebugController.cs
- MenuStrip.cs
- ThrowOnMultipleAssignment.cs
- EdmToObjectNamespaceMap.cs
- PrinterSettings.cs
- MemberPath.cs
- ChooseAction.cs
- AccessibleObject.cs
- MenuItemBinding.cs
- BamlLocalizableResource.cs
- Rect.cs
- PixelFormatConverter.cs
- MenuItemAutomationPeer.cs
- HandlerWithFactory.cs
- SpellerError.cs
- PeerContact.cs
- WhitespaceRuleReader.cs
- UnauthorizedWebPart.cs
- DbParameterCollection.cs
- LinqExpressionNormalizer.cs
- OpenTypeCommon.cs
- WebBrowserNavigatedEventHandler.cs
- DataGridAddNewRow.cs
- MessageUtil.cs
- PipeException.cs
- SelfIssuedAuthRSACryptoProvider.cs
- MediaSystem.cs
- PointLightBase.cs
- TableColumn.cs
- ExtractCollection.cs
- login.cs
- ReadOnlyAttribute.cs
- XPathNodePointer.cs
- ConstraintStruct.cs
- AccessDataSourceView.cs