Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- ResizingMessageFilter.cs
- DataGridPageChangedEventArgs.cs
- Oci.cs
- DocumentSchemaValidator.cs
- TextBounds.cs
- SafeRightsManagementPubHandle.cs
- LineProperties.cs
- WebProxyScriptElement.cs
- SqlMethodAttribute.cs
- VisualStateChangedEventArgs.cs
- StrongTypingException.cs
- SpellerHighlightLayer.cs
- SmtpClient.cs
- Literal.cs
- Matrix.cs
- _UriSyntax.cs
- ScrollViewerAutomationPeer.cs
- HierarchicalDataSourceIDConverter.cs
- WorkBatch.cs
- DependsOnAttribute.cs
- Int32RectConverter.cs
- MenuItem.cs
- CodeAttachEventStatement.cs
- SafePEFileHandle.cs
- TypeSystem.cs
- SystemFonts.cs
- FilterElement.cs
- ZipArchive.cs
- SectionRecord.cs
- DataGridColumnCollection.cs
- RealizedColumnsBlock.cs
- GeneralTransform3DTo2D.cs
- COM2EnumConverter.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- ADMembershipUser.cs
- SQLBoolean.cs
- SqlBulkCopy.cs
- ClientTarget.cs
- CodeLinePragma.cs
- HebrewNumber.cs
- NamespaceTable.cs
- VersionPair.cs
- NamedObject.cs
- ColorAnimationUsingKeyFrames.cs
- Context.cs
- CryptoConfig.cs
- SafeNativeMethods.cs
- XpsS0ValidatingLoader.cs
- GorillaCodec.cs
- UnSafeCharBuffer.cs
- WebPartConnectionsCancelVerb.cs
- NameTable.cs
- MembershipUser.cs
- FontDialog.cs
- SortedDictionary.cs
- SQLMembershipProvider.cs
- ScrollItemProviderWrapper.cs
- RoleManagerModule.cs
- XPathNodeInfoAtom.cs
- DrawingContextWalker.cs
- OleDbWrapper.cs
- QuerySubExprEliminator.cs
- PriorityRange.cs
- FormViewDeleteEventArgs.cs
- DataBindingExpressionBuilder.cs
- DesignBindingPicker.cs
- EventRoute.cs
- MultipartContentParser.cs
- XmlSchemaSimpleTypeUnion.cs
- FormsAuthenticationConfiguration.cs
- NavigationProperty.cs
- AssemblyUtil.cs
- ObservableCollection.cs
- MatrixCamera.cs
- SchemaCollectionPreprocessor.cs
- documentsequencetextview.cs
- ErrorRuntimeConfig.cs
- PTConverter.cs
- IntellisenseTextBox.designer.cs
- Selection.cs
- CompileLiteralTextParser.cs
- UIElement3D.cs
- LoginName.cs
- HijriCalendar.cs
- XamlReaderHelper.cs
- ActivationServices.cs
- TreeViewItem.cs
- PersonalizationAdministration.cs
- XPathDocumentIterator.cs
- ArgumentValidation.cs
- MissingSatelliteAssemblyException.cs
- ProgressChangedEventArgs.cs
- filewebresponse.cs
- AppSettingsExpressionEditor.cs
- TrustManager.cs
- ExpanderAutomationPeer.cs
- HitTestParameters.cs
- RequestSecurityTokenForGetBrowserToken.cs
- IntegerValidator.cs
- Constants.cs