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
- WsatConfiguration.cs
- _SslSessionsCache.cs
- PersonalizationProviderHelper.cs
- SessionSwitchEventArgs.cs
- MultilineStringConverter.cs
- ClientSettingsSection.cs
- TargetInvocationException.cs
- SocketAddress.cs
- FieldBuilder.cs
- SimpleTableProvider.cs
- SurrogateDataContract.cs
- PackageDigitalSignatureManager.cs
- PageVisual.cs
- DefaultPrintController.cs
- ObjectSet.cs
- TextViewBase.cs
- HybridCollection.cs
- BamlResourceContent.cs
- ElapsedEventArgs.cs
- ToolBarDesigner.cs
- BamlWriter.cs
- ActivityFunc.cs
- HtmlSelect.cs
- MouseButton.cs
- _NegoState.cs
- XomlCompilerParameters.cs
- Keywords.cs
- ZoneButton.cs
- ArraySet.cs
- EntityRecordInfo.cs
- FocusWithinProperty.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- validation.cs
- OdbcEnvironmentHandle.cs
- PathGradientBrush.cs
- Attribute.cs
- XsltContext.cs
- FileSystemInfo.cs
- ToolboxComponentsCreatedEventArgs.cs
- ToolStripCustomTypeDescriptor.cs
- DetailsView.cs
- ConfigurationStrings.cs
- HtmlTableCell.cs
- EntitySetDataBindingList.cs
- RenderContext.cs
- CompletedAsyncResult.cs
- BlurEffect.cs
- Stackframe.cs
- RegexBoyerMoore.cs
- FormatterConverter.cs
- UncommonField.cs
- StorageEntityContainerMapping.cs
- WebPartUtil.cs
- EntityDesignerUtils.cs
- SplayTreeNode.cs
- WebPartConnectionCollection.cs
- wgx_sdk_version.cs
- ExceptionValidationRule.cs
- VisualStyleTypesAndProperties.cs
- PowerEase.cs
- ElementAction.cs
- SessionStateUtil.cs
- InternalDuplexChannelFactory.cs
- Splitter.cs
- WebPermission.cs
- _SpnDictionary.cs
- VirtualPathData.cs
- DesignerTransactionCloseEvent.cs
- TemplatedMailWebEventProvider.cs
- TraceSource.cs
- WindowsTreeView.cs
- ListViewCancelEventArgs.cs
- DataGridViewHeaderCell.cs
- KeyProperty.cs
- ProtectedConfiguration.cs
- SecurityDescriptor.cs
- RequestCacheManager.cs
- CodeIdentifiers.cs
- DebugView.cs
- SafeEventLogWriteHandle.cs
- SoapObjectWriter.cs
- ValidationErrorCollection.cs
- PaperSize.cs
- UnconditionalPolicy.cs
- ArrayExtension.cs
- Freezable.cs
- CustomErrorsSection.cs
- TypeUsageBuilder.cs
- ConstNode.cs
- SqlInternalConnection.cs
- AssemblyInfo.cs
- AuthenticationSection.cs
- ListBindingConverter.cs
- UInt64Converter.cs
- XmlWriter.cs
- GroupBox.cs
- CryptoApi.cs
- CommonBehaviorsSection.cs
- StorageEntitySetMapping.cs
- DocumentSequenceHighlightLayer.cs