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
- PeerOutputChannel.cs
- ValueUtilsSmi.cs
- TcpPortSharing.cs
- ModelTreeEnumerator.cs
- ProxyFragment.cs
- CounterCreationDataCollection.cs
- SQLGuidStorage.cs
- StylusPointPropertyId.cs
- EntityDataSourceViewSchema.cs
- sqlcontext.cs
- TableRowCollection.cs
- TextTreeText.cs
- ImageCodecInfo.cs
- DesignTimeTemplateParser.cs
- Rotation3DAnimation.cs
- ArcSegment.cs
- AuthorizationPolicyTypeElement.cs
- StateItem.cs
- PngBitmapEncoder.cs
- Hex.cs
- ArrayTypeMismatchException.cs
- XMLSyntaxException.cs
- QilUnary.cs
- HttpPostedFileWrapper.cs
- CodeMemberEvent.cs
- TypedAsyncResult.cs
- SqlFlattener.cs
- NotImplementedException.cs
- Component.cs
- RepeaterCommandEventArgs.cs
- RightsManagementLicense.cs
- FormatConvertedBitmap.cs
- RadioButtonStandardAdapter.cs
- COM2ColorConverter.cs
- MessageBox.cs
- ErrorTableItemStyle.cs
- storepermission.cs
- DataSourceControl.cs
- ModelVisual3D.cs
- Label.cs
- StringComparer.cs
- DoubleAnimationUsingPath.cs
- SelectionPatternIdentifiers.cs
- NamedPipeActivation.cs
- SatelliteContractVersionAttribute.cs
- WebHttpEndpointElement.cs
- HMACMD5.cs
- CacheEntry.cs
- ContainerSelectorGlyph.cs
- AccessedThroughPropertyAttribute.cs
- ListViewDeleteEventArgs.cs
- Select.cs
- WithStatement.cs
- Context.cs
- OpCellTreeNode.cs
- ObjectPersistData.cs
- CheckBoxFlatAdapter.cs
- SqlBooleanMismatchVisitor.cs
- InvokePattern.cs
- WeakReadOnlyCollection.cs
- AuditLogLocation.cs
- EntryIndex.cs
- GPPOINTF.cs
- DataSetSchema.cs
- AnimationException.cs
- CFStream.cs
- OdbcConnection.cs
- SqlOuterApplyReducer.cs
- FileUpload.cs
- WorkflowServiceOperationListItem.cs
- EnumBuilder.cs
- WindowsMenu.cs
- ManipulationVelocities.cs
- WmlCalendarAdapter.cs
- Tile.cs
- ConstraintEnumerator.cs
- ElementFactory.cs
- EditorBrowsableAttribute.cs
- QuaternionIndependentAnimationStorage.cs
- ComponentSerializationService.cs
- CompilerState.cs
- PolyLineSegment.cs
- WebPartCancelEventArgs.cs
- WeakEventTable.cs
- OptimalTextSource.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- ImageListStreamer.cs
- KnownColorTable.cs
- _ConnectOverlappedAsyncResult.cs
- ConfigurationSection.cs
- StylusCollection.cs
- ConditionalExpression.cs
- DefaultPropertyAttribute.cs
- ValidatingPropertiesEventArgs.cs
- RenderContext.cs
- EmbeddedMailObjectCollectionEditor.cs
- DesignerSerializerAttribute.cs
- ClientRoleProvider.cs
- ToolStripItemCollection.cs
- LocalFileSettingsProvider.cs