Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- activationcontext.cs
- PolyBezierSegmentFigureLogic.cs
- Span.cs
- Point3DAnimationUsingKeyFrames.cs
- TreeViewDataItemAutomationPeer.cs
- Math.cs
- KeyPullup.cs
- BitmapEffectOutputConnector.cs
- SerialStream.cs
- DocobjHost.cs
- MexHttpBindingElement.cs
- Preprocessor.cs
- ButtonRenderer.cs
- TextSegment.cs
- SourceInterpreter.cs
- NetworkAddressChange.cs
- Utility.cs
- Pen.cs
- IsolatedStorageFile.cs
- IdlingCommunicationPool.cs
- FontDifferentiator.cs
- XsltQilFactory.cs
- XmlNavigatorStack.cs
- TraceXPathNavigator.cs
- TreeViewAutomationPeer.cs
- XmlQuerySequence.cs
- followingquery.cs
- Function.cs
- XmlSchemaCollection.cs
- DataGridTablesFactory.cs
- ASCIIEncoding.cs
- HtmlSelect.cs
- CacheSection.cs
- Rect.cs
- HttpStreamXmlDictionaryReader.cs
- SettingsContext.cs
- BitmapImage.cs
- HtmlObjectListAdapter.cs
- CharStorage.cs
- AddInBase.cs
- BaseServiceProvider.cs
- Executor.cs
- WeakReferenceKey.cs
- XmlIgnoreAttribute.cs
- Evidence.cs
- DataServiceHost.cs
- ReturnValue.cs
- InkCanvasAutomationPeer.cs
- LexicalChunk.cs
- ProfileService.cs
- ObjectItemNoOpAssemblyLoader.cs
- EventKeyword.cs
- SystemFonts.cs
- ShaperBuffers.cs
- PictureBox.cs
- Permission.cs
- SerializerDescriptor.cs
- Int32RectConverter.cs
- SafeEventLogWriteHandle.cs
- SequentialWorkflowRootDesigner.cs
- SqlUDTStorage.cs
- SoapExtensionReflector.cs
- PropertyGridView.cs
- WebPartCollection.cs
- SpellerError.cs
- CodeSnippetExpression.cs
- IResourceProvider.cs
- PropertyGrid.cs
- TextContainerChangeEventArgs.cs
- IndentedTextWriter.cs
- UpdateEventArgs.cs
- FastEncoderStatics.cs
- NullRuntimeConfig.cs
- NavigationEventArgs.cs
- FixedPageStructure.cs
- ObjectNavigationPropertyMapping.cs
- MailWriter.cs
- DataBindEngine.cs
- DbExpressionVisitor.cs
- UnknownWrapper.cs
- ToolConsole.cs
- ToolStripDropDownItem.cs
- MemberDomainMap.cs
- AppSecurityManager.cs
- PassportAuthentication.cs
- SizeLimitedCache.cs
- SelectorItemAutomationPeer.cs
- CngKeyBlobFormat.cs
- BindingSource.cs
- TextPointer.cs
- CallbackException.cs
- MaxMessageSizeStream.cs
- HMACRIPEMD160.cs
- SizeAnimationBase.cs
- AnnotationComponentChooser.cs
- XPathBinder.cs
- UIElementAutomationPeer.cs
- RootNamespaceAttribute.cs
- DBCSCodePageEncoding.cs
- OutputCacheSettings.cs