Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- XmlSchemaAnnotated.cs
- TypeUnloadedException.cs
- Win32Exception.cs
- EncryptedPackage.cs
- XmlnsDictionary.cs
- XmlEncodedRawTextWriter.cs
- RSACryptoServiceProvider.cs
- ScrollItemPattern.cs
- ShellProvider.cs
- QuotedStringWriteStateInfo.cs
- TextElementEditingBehaviorAttribute.cs
- StyleSelector.cs
- FieldDescriptor.cs
- TopClause.cs
- EditingCoordinator.cs
- Int32RectValueSerializer.cs
- SyndicationDeserializer.cs
- DbProviderFactoriesConfigurationHandler.cs
- CompressedStack.cs
- HostSecurityManager.cs
- SqlProfileProvider.cs
- WindowManager.cs
- CircleEase.cs
- HtmlInputRadioButton.cs
- PrintController.cs
- ExtensionWindow.cs
- CustomErrorsSection.cs
- DataGridItem.cs
- QueueProcessor.cs
- RemotingAttributes.cs
- IIS7UserPrincipal.cs
- DataServiceProcessingPipeline.cs
- ShaperBuffers.cs
- XPathPatternBuilder.cs
- OrthographicCamera.cs
- SerializerWriterEventHandlers.cs
- MessageDecoder.cs
- WebServiceClientProxyGenerator.cs
- _UriTypeConverter.cs
- SelectorAutomationPeer.cs
- Parameter.cs
- XPathParser.cs
- ToolStripDropDown.cs
- AttributeQuery.cs
- SelectionItemPattern.cs
- ToolStripItemEventArgs.cs
- WindowsTokenRoleProvider.cs
- XmlSecureResolver.cs
- BaseAutoFormat.cs
- CollectionBuilder.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- KnownBoxes.cs
- TextEditorCopyPaste.cs
- BitmapFrame.cs
- XmlImplementation.cs
- path.cs
- User.cs
- TraceUtility.cs
- ScriptIgnoreAttribute.cs
- SqlHelper.cs
- ResourceExpressionBuilder.cs
- LayoutEditorPart.cs
- GenericWebPart.cs
- OutOfProcStateClientManager.cs
- AssemblySettingAttributes.cs
- HtmlInputText.cs
- SocketElement.cs
- TdsParameterSetter.cs
- SqlDataSourceCache.cs
- TextViewBase.cs
- TextRangeAdaptor.cs
- Pair.cs
- TimeEnumHelper.cs
- ArrayWithOffset.cs
- WindowsRichEdit.cs
- _Connection.cs
- ErrorFormatter.cs
- ScaleTransform3D.cs
- DoubleAnimationBase.cs
- DispatcherExceptionFilterEventArgs.cs
- ConfigurationSchemaErrors.cs
- FormatConvertedBitmap.cs
- ServiceOperationListItem.cs
- TemplatedMailWebEventProvider.cs
- MappedMetaModel.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- TextEditor.cs
- CustomCategoryAttribute.cs
- Vector.cs
- ComponentEditorForm.cs
- AnimationClockResource.cs
- SchemaCollectionPreprocessor.cs
- XamlParser.cs
- MediaSystem.cs
- SafeReadContext.cs
- MetadataCollection.cs
- LogicalTreeHelper.cs
- RSAOAEPKeyExchangeFormatter.cs
- MailMessage.cs
- UIPropertyMetadata.cs