Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- GroupBoxAutomationPeer.cs
- TextEncodedRawTextWriter.cs
- XmlComment.cs
- ping.cs
- Geometry3D.cs
- ArgumentValidation.cs
- AdornedElementPlaceholder.cs
- AssemblyNameProxy.cs
- QueryAsyncResult.cs
- ByteAnimationUsingKeyFrames.cs
- FormatVersion.cs
- GlyphRunDrawing.cs
- EntityDataSourceDataSelection.cs
- XmlSchemaComplexContentExtension.cs
- ControlBuilderAttribute.cs
- PkcsUtils.cs
- RtfNavigator.cs
- InvalidDataException.cs
- AdornerLayer.cs
- ContractUtils.cs
- Viewport3DAutomationPeer.cs
- TableLayout.cs
- Run.cs
- DecoderReplacementFallback.cs
- StackOverflowException.cs
- ExternalDataExchangeService.cs
- XpsTokenContext.cs
- SqlFormatter.cs
- ProviderConnectionPoint.cs
- ProtocolException.cs
- ObjectDataSourceView.cs
- WebControlParameterProxy.cs
- DesignerActionItemCollection.cs
- SimpleExpression.cs
- ColorPalette.cs
- TableCellAutomationPeer.cs
- FormsAuthenticationEventArgs.cs
- SqlFormatter.cs
- ObjectDataSourceSelectingEventArgs.cs
- PrintDialog.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- HuffmanTree.cs
- SqlComparer.cs
- UpdateTranslator.cs
- EndpointDiscoveryMetadata11.cs
- IteratorFilter.cs
- DesignerVerbCollection.cs
- OutputCacheProfile.cs
- ReferentialConstraint.cs
- DetailsView.cs
- TreeNodeClickEventArgs.cs
- SplineKeyFrames.cs
- PartitionedStream.cs
- PublisherMembershipCondition.cs
- PrintEvent.cs
- HtmlInputPassword.cs
- XmlRawWriter.cs
- Stack.cs
- CapabilitiesAssignment.cs
- TextParentUndoUnit.cs
- TypeListConverter.cs
- WSFederationHttpSecurity.cs
- DataGridViewTopLeftHeaderCell.cs
- XPathNavigatorKeyComparer.cs
- QuadraticBezierSegment.cs
- LinqTreeNodeEvaluator.cs
- RepeatButton.cs
- SemanticKeyElement.cs
- Constraint.cs
- TextServicesLoader.cs
- _SafeNetHandles.cs
- WsatServiceCertificate.cs
- Stackframe.cs
- IConvertible.cs
- EDesignUtil.cs
- TreeView.cs
- HttpEncoder.cs
- HTTPNotFoundHandler.cs
- TextFindEngine.cs
- TemplateColumn.cs
- TableLayoutPanel.cs
- StylusEventArgs.cs
- TextAutomationPeer.cs
- SecurityTokenValidationException.cs
- SystemIPInterfaceProperties.cs
- _LocalDataStore.cs
- ResourceReferenceExpressionConverter.cs
- CacheModeConverter.cs
- ObjectPersistData.cs
- ClientTarget.cs
- SafeHandles.cs
- XmlCharCheckingWriter.cs
- DynamicPropertyReader.cs
- MarkupCompilePass2.cs
- CachedBitmap.cs
- FontFaceLayoutInfo.cs
- ClassicBorderDecorator.cs
- HierarchicalDataSourceConverter.cs
- HelpInfo.cs
- ControlValuePropertyAttribute.cs