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
- SparseMemoryStream.cs
- CompensationHandlingFilter.cs
- Slider.cs
- WindowsSpinner.cs
- XmlQueryType.cs
- EncodingTable.cs
- Array.cs
- Rights.cs
- QueryOutputWriterV1.cs
- ResourceReader.cs
- SQLMembershipProvider.cs
- QuaternionAnimation.cs
- WebConfigManager.cs
- CodeParameterDeclarationExpression.cs
- EditingCommands.cs
- TableCellCollection.cs
- LinkedList.cs
- FileVersion.cs
- XmlAnyAttributeAttribute.cs
- EnumerableValidator.cs
- AnimationClockResource.cs
- RoutedEventHandlerInfo.cs
- TypeUtil.cs
- ServiceProviders.cs
- DataSetUtil.cs
- ExpressionBinding.cs
- FrameworkElement.cs
- SoundPlayer.cs
- SqlNodeTypeOperators.cs
- LabelAutomationPeer.cs
- GridViewColumnCollectionChangedEventArgs.cs
- ProvidePropertyAttribute.cs
- CatalogPartCollection.cs
- UrlMappingCollection.cs
- WizardStepCollectionEditor.cs
- KeyNotFoundException.cs
- ProviderCollection.cs
- InternalCache.cs
- WindowsToolbar.cs
- GacUtil.cs
- ObjectDisposedException.cs
- FloaterBaseParagraph.cs
- externdll.cs
- TextDecoration.cs
- WorkflowRuntimeElement.cs
- CheckBox.cs
- ByeMessage11.cs
- XslCompiledTransform.cs
- HtmlControl.cs
- CreateUserErrorEventArgs.cs
- BinaryReader.cs
- BoundColumn.cs
- ErrorFormatter.cs
- ConditionCollection.cs
- FontFamily.cs
- ScrollBarRenderer.cs
- WebPartTransformerCollection.cs
- HttpContextBase.cs
- BulletedList.cs
- HtmlInputText.cs
- NCryptSafeHandles.cs
- DesignerUtils.cs
- SSmlParser.cs
- SystemColorTracker.cs
- ReadOnlyDataSourceView.cs
- GenericEnumConverter.cs
- SpeechEvent.cs
- HostVisual.cs
- ChooseAction.cs
- FontStretches.cs
- DirectoryNotFoundException.cs
- PackUriHelper.cs
- Privilege.cs
- TransformerInfo.cs
- WsatServiceCertificate.cs
- ColorAnimationBase.cs
- NamespaceQuery.cs
- _SpnDictionary.cs
- OracleInternalConnection.cs
- UserControl.cs
- StylusSystemGestureEventArgs.cs
- Type.cs
- ProfileEventArgs.cs
- SelectionProcessor.cs
- MatcherBuilder.cs
- ExpandButtonVisibilityConverter.cs
- RemotingSurrogateSelector.cs
- GroupItemAutomationPeer.cs
- ProviderConnectionPoint.cs
- HttpClientCertificate.cs
- ListViewCancelEventArgs.cs
- KeyNotFoundException.cs
- BrowserInteropHelper.cs
- Rfc2898DeriveBytes.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- TdsEnums.cs
- DataGridViewRowCollection.cs
- PingOptions.cs
- EventHandlerService.cs
- RichTextBox.cs