Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SchemaNames.cs
- CodeExporter.cs
- ScrollPatternIdentifiers.cs
- CorrelationService.cs
- GridViewEditEventArgs.cs
- CodeDefaultValueExpression.cs
- Overlapped.cs
- TypeUsage.cs
- PerspectiveCamera.cs
- Columns.cs
- FullTextBreakpoint.cs
- Select.cs
- HMACSHA512.cs
- WinEventTracker.cs
- BlockUIContainer.cs
- GridEntry.cs
- StateManagedCollection.cs
- TextBox.cs
- ListParagraph.cs
- UnorderedHashRepartitionStream.cs
- CodeAttributeDeclaration.cs
- HttpApplication.cs
- EntityParameterCollection.cs
- XmlQueryCardinality.cs
- DbQueryCommandTree.cs
- DriveInfo.cs
- DbParameterHelper.cs
- XmlConvert.cs
- ExecutionContext.cs
- WindowsPrincipal.cs
- DataPagerField.cs
- ResourceExpressionBuilder.cs
- CacheChildrenQuery.cs
- DynamicDataResources.Designer.cs
- ProcessModelSection.cs
- PerformanceCounterPermissionEntryCollection.cs
- DesignerProperties.cs
- Task.cs
- ViewCellRelation.cs
- DataGridCell.cs
- EntityKeyElement.cs
- SubstitutionResponseElement.cs
- WasEndpointConfigContainer.cs
- SeparatorAutomationPeer.cs
- SqlNotificationRequest.cs
- _NestedSingleAsyncResult.cs
- StyleXamlParser.cs
- SqlUnionizer.cs
- TextComposition.cs
- EventPrivateKey.cs
- DataGridColumnHeaderAutomationPeer.cs
- PartitionResolver.cs
- MarkerProperties.cs
- CreateParams.cs
- WebPartCloseVerb.cs
- newinstructionaction.cs
- StringUtil.cs
- ScriptingProfileServiceSection.cs
- ScrollProperties.cs
- XmlRootAttribute.cs
- ResourceManagerWrapper.cs
- DataTableReader.cs
- CrossAppDomainChannel.cs
- ColumnMap.cs
- SevenBitStream.cs
- ComponentManagerBroker.cs
- DocumentEventArgs.cs
- LockRecursionException.cs
- FixedDSBuilder.cs
- XmlBinaryWriterSession.cs
- StructuredTypeEmitter.cs
- SqlCrossApplyToCrossJoin.cs
- WMIGenerator.cs
- CodeSnippetTypeMember.cs
- XsdDuration.cs
- XmlnsCache.cs
- XmlFormatExtensionPointAttribute.cs
- DecimalSumAggregationOperator.cs
- WebBrowserHelper.cs
- GeneralTransform3DCollection.cs
- KeyConverter.cs
- Trace.cs
- DbCommandTree.cs
- GeometryDrawing.cs
- BaseParagraph.cs
- TextTreeRootNode.cs
- CodeStatementCollection.cs
- WebUtil.cs
- ThreadStaticAttribute.cs
- MarshalByRefObject.cs
- DataBoundLiteralControl.cs
- ComNativeDescriptor.cs
- BatchParser.cs
- Utils.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- CalendarSelectionChangedEventArgs.cs
- ThreadExceptionEvent.cs
- ReadOnlyDictionary.cs
- ContextStack.cs
- XmlSerializationReader.cs