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
- ContentElement.cs
- InputReport.cs
- WebScriptMetadataFormatter.cs
- IdlingCommunicationPool.cs
- updatecommandorderer.cs
- InkCanvasSelection.cs
- ErrorFormatterPage.cs
- DataGridTable.cs
- SystemNetworkInterface.cs
- TablePattern.cs
- HtmlToClrEventProxy.cs
- MatrixStack.cs
- IList.cs
- ExpressionNode.cs
- NewItemsContextMenuStrip.cs
- addressfiltermode.cs
- RequestStatusBarUpdateEventArgs.cs
- WarningException.cs
- ListDictionary.cs
- ItemList.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- RegionData.cs
- RedistVersionInfo.cs
- GraphicsPath.cs
- TransformDescriptor.cs
- AttachedPropertyBrowsableAttribute.cs
- URLIdentityPermission.cs
- SelectionRange.cs
- COM2Enum.cs
- ClusterSafeNativeMethods.cs
- MachineKeyValidationConverter.cs
- InfoCardArgumentException.cs
- DataFormats.cs
- PlacementWorkspace.cs
- Matrix3D.cs
- VirtualPath.cs
- XmlIlVisitor.cs
- AssociationSet.cs
- MetadataItemCollectionFactory.cs
- DeclarationUpdate.cs
- RtfToXamlReader.cs
- SiteMapDataSourceView.cs
- DbCommandDefinition.cs
- WorkerRequest.cs
- UInt32.cs
- UICuesEvent.cs
- DataBinder.cs
- CompositeControl.cs
- QilValidationVisitor.cs
- NetNamedPipeSecurity.cs
- AddValidationError.cs
- HtmlMobileTextWriter.cs
- QueryOpcode.cs
- TextViewSelectionProcessor.cs
- CounterCreationDataConverter.cs
- ClientSideProviderDescription.cs
- OverrideMode.cs
- Propagator.Evaluator.cs
- Frame.cs
- CommandManager.cs
- Activity.cs
- ErrorInfoXmlDocument.cs
- ButtonColumn.cs
- ContextProperty.cs
- DesignerDataTableBase.cs
- TransactionTable.cs
- AsymmetricSignatureDeformatter.cs
- CodeComment.cs
- LayoutEvent.cs
- BaseCollection.cs
- DbXmlEnabledProviderManifest.cs
- BitmapCodecInfoInternal.cs
- XmlWrappingReader.cs
- RequiredFieldValidator.cs
- ServiceProviders.cs
- ModuleElement.cs
- SoapAttributes.cs
- SortedDictionary.cs
- HttpResponseBase.cs
- XamlHttpHandlerFactory.cs
- PeerIPHelper.cs
- TreeNode.cs
- precedingquery.cs
- EntityWrapperFactory.cs
- RadioButtonList.cs
- ClientBuildManagerCallback.cs
- followingquery.cs
- Binding.cs
- SamlAction.cs
- TextServicesContext.cs
- WebPartDisplayMode.cs
- EntityParameterCollection.cs
- PrePrepareMethodAttribute.cs
- DrawingAttributes.cs
- ObjectItemCachedAssemblyLoader.cs
- DrawToolTipEventArgs.cs
- KnownIds.cs
- Stackframe.cs
- Internal.cs
- PropertyNames.cs