Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / TextBoxAutomationPeer.cs / 1407647 / 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.Internal.Automation; using MS.Win32; namespace System.Windows.Automation.Peers { /// public class TextBoxAutomationPeer : TextAutomationPeer, IValueProvider { /// public TextBoxAutomationPeer(TextBox owner): base(owner) { _textPattern = new TextAdaptor(this, ((TextBoxBase)owner).TextContainer); } /// 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) { if(_textPattern == null) _textPattern = new TextAdaptor(this, ((TextBoxBase)Owner).TextContainer); return _textPattern; } if (patternInterface == PatternInterface.Scroll) { TextBox owner = (TextBox)Owner; if (owner.ScrollViewer != null) { returnValue = owner.ScrollViewer.CreateAutomationPeer(); ((AutomationPeer)returnValue).EventsSource = this; } } if (patternInterface == PatternInterface.SynchronizedInput) { returnValue = base.GetPattern(patternInterface); } 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 (); } private TextAdaptor _textPattern; } } // 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.Internal.Automation; using MS.Win32; namespace System.Windows.Automation.Peers { /// public class TextBoxAutomationPeer : TextAutomationPeer, IValueProvider { /// public TextBoxAutomationPeer(TextBox owner): base(owner) { _textPattern = new TextAdaptor(this, ((TextBoxBase)owner).TextContainer); } /// 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) { if(_textPattern == null) _textPattern = new TextAdaptor(this, ((TextBoxBase)Owner).TextContainer); return _textPattern; } if (patternInterface == PatternInterface.Scroll) { TextBox owner = (TextBox)Owner; if (owner.ScrollViewer != null) { returnValue = owner.ScrollViewer.CreateAutomationPeer(); ((AutomationPeer)returnValue).EventsSource = this; } } if (patternInterface == PatternInterface.SynchronizedInput) { returnValue = base.GetPattern(patternInterface); } 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 (); } private TextAdaptor _textPattern; } } // 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
- WebSysDescriptionAttribute.cs
- AutomationPeer.cs
- FillRuleValidation.cs
- CrossAppDomainChannel.cs
- WebPartVerbsEventArgs.cs
- RemotingAttributes.cs
- ReadWriteControlDesigner.cs
- CheckBoxStandardAdapter.cs
- OuterGlowBitmapEffect.cs
- DelegatingMessage.cs
- PropertyTab.cs
- PropertySegmentSerializationProvider.cs
- VectorCollection.cs
- ButtonFlatAdapter.cs
- HotSpotCollection.cs
- DictionaryKeyPropertyAttribute.cs
- PolicyManager.cs
- XmlSchemaSet.cs
- ErasingStroke.cs
- DBBindings.cs
- GridToolTip.cs
- ControlCachePolicy.cs
- ObjectResult.cs
- GradientBrush.cs
- AppDomainShutdownMonitor.cs
- TreeNodeConverter.cs
- SynchronizationContext.cs
- GlyphingCache.cs
- CompiledQueryCacheKey.cs
- SoapServerProtocol.cs
- XmlNotation.cs
- BinaryEditor.cs
- XsdDateTime.cs
- CachedPathData.cs
- StringValidator.cs
- SQLByteStorage.cs
- FactoryGenerator.cs
- COM2PictureConverter.cs
- CacheAxisQuery.cs
- BinaryObjectWriter.cs
- ConfigurationHandlersInstallComponent.cs
- Keywords.cs
- XmlSchemaExternal.cs
- Util.cs
- EventMetadata.cs
- FieldBuilder.cs
- EnumValidator.cs
- MSG.cs
- FileLevelControlBuilderAttribute.cs
- ThreadAbortException.cs
- DocumentSchemaValidator.cs
- TypeConverterMarkupExtension.cs
- XamlClipboardData.cs
- CodeComment.cs
- ReferenceConverter.cs
- TreeNodeStyleCollectionEditor.cs
- comcontractssection.cs
- FastEncoder.cs
- EntityProviderServices.cs
- TypedCompletedAsyncResult.cs
- ImpersonateTokenRef.cs
- XmlUrlResolver.cs
- DocobjHost.cs
- KoreanCalendar.cs
- CodeNamespace.cs
- IndexOutOfRangeException.cs
- CompModSwitches.cs
- TransactionManager.cs
- HostedBindingBehavior.cs
- AccessText.cs
- XmlSchemaObject.cs
- X509CertificateClaimSet.cs
- WebPartCatalogCloseVerb.cs
- DataComponentNameHandler.cs
- CaseInsensitiveComparer.cs
- DocumentPageTextView.cs
- CachedPathData.cs
- SiteIdentityPermission.cs
- GraphicsContext.cs
- Deflater.cs
- EdmType.cs
- PenThreadPool.cs
- FacetValues.cs
- XsdDateTime.cs
- XmlName.cs
- AsymmetricSignatureFormatter.cs
- RegistryConfigurationProvider.cs
- XamlWriterExtensions.cs
- DesignerCalendarAdapter.cs
- GeometryGroup.cs
- SudsWriter.cs
- VolatileEnlistmentState.cs
- DefaultTypeArgumentAttribute.cs
- InstanceCreationEditor.cs
- FolderNameEditor.cs
- ProtocolViolationException.cs
- TransformPatternIdentifiers.cs
- XmlWrappingReader.cs
- StrongName.cs
- EditorZoneBase.cs