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 / TextBoxAutomationPeer.cs / 1 / TextBoxAutomationPeer.cs
using System; using System.Collections.Generic; 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 System.Windows.Documents; using MS.Internal; using MS.Win32; namespace System.Windows.Automation.Peers { /// public class TextBoxAutomationPeer : TextAutomationPeer, IValueProvider { /// public TextBoxAutomationPeer(TextBox owner): base(owner) {} /// override protected string GetClassNameCore() { return "TextBox"; } /// override protected AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.Edit; } /// override public object GetPattern(PatternInterface patternInterface) { object returnValue = null; if(patternInterface == PatternInterface.Value) returnValue = this; if (patternInterface == PatternInterface.Text) { returnValue = new MS.Internal.Automation.TextAdaptor(this, ((TextBoxBase)Owner).TextContainer); } if (patternInterface == PatternInterface.Scroll) { TextBox owner = (TextBox)Owner; if (owner.ScrollViewer != null) { returnValue = owner.ScrollViewer.CreateAutomationPeer(); ((AutomationPeer)returnValue).EventsSource = this; } } return returnValue; } bool IValueProvider.IsReadOnly { get { TextBox owner = (TextBox)Owner; return owner.IsReadOnly; } } string IValueProvider.Value { get { TextBox owner = (TextBox)Owner; return owner.Text; } } void IValueProvider.SetValue(string value) { if(!IsEnabled()) throw new ElementNotEnabledException(); TextBox owner = (TextBox)Owner; if (owner.IsReadOnly) { throw new ElementNotEnabledException(); } if (value == null) { throw new ArgumentNullException("value"); } owner.Text = 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); } } ////// Gets collection of AutomationPeers for given text range. /// internal override ListGetAutomationPeersFromRange(ITextPointer start, ITextPointer end) { return new List (); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections.Generic; 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 System.Windows.Documents; using MS.Internal; using MS.Win32; namespace System.Windows.Automation.Peers { /// public class TextBoxAutomationPeer : TextAutomationPeer, IValueProvider { /// public TextBoxAutomationPeer(TextBox owner): base(owner) {} /// override protected string GetClassNameCore() { return "TextBox"; } /// override protected AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.Edit; } /// override public object GetPattern(PatternInterface patternInterface) { object returnValue = null; if(patternInterface == PatternInterface.Value) returnValue = this; if (patternInterface == PatternInterface.Text) { returnValue = new MS.Internal.Automation.TextAdaptor(this, ((TextBoxBase)Owner).TextContainer); } if (patternInterface == PatternInterface.Scroll) { TextBox owner = (TextBox)Owner; if (owner.ScrollViewer != null) { returnValue = owner.ScrollViewer.CreateAutomationPeer(); ((AutomationPeer)returnValue).EventsSource = this; } } return returnValue; } bool IValueProvider.IsReadOnly { get { TextBox owner = (TextBox)Owner; return owner.IsReadOnly; } } string IValueProvider.Value { get { TextBox owner = (TextBox)Owner; return owner.Text; } } void IValueProvider.SetValue(string value) { if(!IsEnabled()) throw new ElementNotEnabledException(); TextBox owner = (TextBox)Owner; if (owner.IsReadOnly) { throw new ElementNotEnabledException(); } if (value == null) { throw new ArgumentNullException("value"); } owner.Text = 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); } } /// /// Gets collection of AutomationPeers for given text range. /// internal override ListGetAutomationPeersFromRange(ITextPointer start, ITextPointer end) { return new List (); } } } // 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
- ErrorRuntimeConfig.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- DesignerSerializationOptionsAttribute.cs
- MostlySingletonList.cs
- DiscreteKeyFrames.cs
- BmpBitmapDecoder.cs
- Encoder.cs
- SystemNetworkInterface.cs
- TextWriter.cs
- LogAppendAsyncResult.cs
- SoapServerProtocol.cs
- ProofTokenCryptoHandle.cs
- ToolboxItemSnapLineBehavior.cs
- PathFigureCollection.cs
- XmlSchemaImporter.cs
- DebugHandleTracker.cs
- Char.cs
- formatstringdialog.cs
- SBCSCodePageEncoding.cs
- TextProviderWrapper.cs
- HttpClientCertificate.cs
- StyleCollection.cs
- CanExecuteRoutedEventArgs.cs
- ExpressionVisitor.cs
- PropertyToken.cs
- StreamReader.cs
- CriticalHandle.cs
- LocatorGroup.cs
- IODescriptionAttribute.cs
- HttpListenerPrefixCollection.cs
- ColumnCollection.cs
- ProxyFragment.cs
- DataGridViewCellStyleChangedEventArgs.cs
- SqlDataSource.cs
- UpdatePanel.cs
- ECDiffieHellmanPublicKey.cs
- DataRow.cs
- PrimitiveType.cs
- WindowPattern.cs
- SqlRowUpdatingEvent.cs
- OutOfProcStateClientManager.cs
- InvalidAsynchronousStateException.cs
- GetIndexBinder.cs
- UnknownWrapper.cs
- ConditionalDesigner.cs
- ReadWriteSpinLock.cs
- UshortList2.cs
- AssociationSet.cs
- Propagator.cs
- IPHostEntry.cs
- InkCollectionBehavior.cs
- ArrayExtension.cs
- LinkLabelLinkClickedEvent.cs
- Opcode.cs
- GestureRecognitionResult.cs
- ListViewHitTestInfo.cs
- CharAnimationUsingKeyFrames.cs
- DBCommand.cs
- ObjectKeyFrameCollection.cs
- XmlTypeAttribute.cs
- ViewDesigner.cs
- DataTable.cs
- EditorPartChrome.cs
- FontDriver.cs
- DrawingContextDrawingContextWalker.cs
- ScrollableControl.cs
- Win32.cs
- BypassElement.cs
- SqlProvider.cs
- SQLDateTimeStorage.cs
- XmlEncodedRawTextWriter.cs
- MultipleViewProviderWrapper.cs
- BooleanFunctions.cs
- SettingsPropertyValue.cs
- AutoResizedEvent.cs
- InstanceView.cs
- FileUtil.cs
- XmlNode.cs
- PlatformCulture.cs
- TextPenaltyModule.cs
- CodeTypeDeclarationCollection.cs
- DataGridViewRow.cs
- BinaryUtilClasses.cs
- Polyline.cs
- RegexGroupCollection.cs
- PopupRoot.cs
- BamlLocalizableResourceKey.cs
- DelegatingConfigHost.cs
- ZipIOCentralDirectoryBlock.cs
- OleDbConnectionFactory.cs
- autovalidator.cs
- XmlRootAttribute.cs
- XXXOnTypeBuilderInstantiation.cs
- HttpRequest.cs
- TextClipboardData.cs
- TrackingAnnotationCollection.cs
- IgnoreSection.cs
- PointLight.cs
- AccessedThroughPropertyAttribute.cs
- _ReceiveMessageOverlappedAsyncResult.cs