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
- ICspAsymmetricAlgorithm.cs
- AnnotationAuthorChangedEventArgs.cs
- BitmapSizeOptions.cs
- CommandID.cs
- RepeaterCommandEventArgs.cs
- ManifestResourceInfo.cs
- KeyMatchBuilder.cs
- BaseParser.cs
- MemberInitExpression.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- LiteralLink.cs
- NameScopePropertyAttribute.cs
- odbcmetadatafactory.cs
- InternalResources.cs
- ImageField.cs
- SafeCoTaskMem.cs
- WhileDesigner.cs
- BindingOperations.cs
- ResourcesBuildProvider.cs
- ExpressionVisitorHelpers.cs
- SnapshotChangeTrackingStrategy.cs
- DBDataPermissionAttribute.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ResXFileRef.cs
- DnsEndPoint.cs
- HostedBindingBehavior.cs
- AppearanceEditorPart.cs
- ValidatingReaderNodeData.cs
- ReservationNotFoundException.cs
- RuntimeCompatibilityAttribute.cs
- ListMarkerLine.cs
- ToolStripStatusLabel.cs
- PartialCachingAttribute.cs
- MobileControlsSectionHandler.cs
- BooleanSwitch.cs
- Size.cs
- HelpEvent.cs
- EntityDataSourceReferenceGroup.cs
- SqlDataSourceCommandEventArgs.cs
- CodeGroup.cs
- NetTcpBinding.cs
- OAVariantLib.cs
- MatrixIndependentAnimationStorage.cs
- UpDownEvent.cs
- PerfCounterSection.cs
- StringArrayConverter.cs
- LassoSelectionBehavior.cs
- WebPartConnectVerb.cs
- DirectoryGroupQuery.cs
- TypographyProperties.cs
- MouseButton.cs
- ReferencedType.cs
- SqlWebEventProvider.cs
- ThemeDictionaryExtension.cs
- Crypto.cs
- PathFigureCollection.cs
- TagPrefixAttribute.cs
- XmlSchemaExternal.cs
- Serializer.cs
- EventMappingSettings.cs
- QueryCursorEventArgs.cs
- ServiceOperationParameter.cs
- WbmpConverter.cs
- ServiceAuthorizationElement.cs
- Peer.cs
- XmlAnyElementAttribute.cs
- SslSecurityTokenParameters.cs
- AssemblyFilter.cs
- DragCompletedEventArgs.cs
- Int64Animation.cs
- TracedNativeMethods.cs
- WindowsFont.cs
- PropertyGridView.cs
- DataContractSet.cs
- EndEvent.cs
- ArrayHelper.cs
- InvokeSchedule.cs
- X509DefaultServiceCertificateElement.cs
- SvcMapFile.cs
- ToolStripContextMenu.cs
- UpDownBase.cs
- WebPartMinimizeVerb.cs
- DateTimeUtil.cs
- SoapTypeAttribute.cs
- dataSvcMapFileLoader.cs
- ImageListStreamer.cs
- MimeMultiPart.cs
- ComboBoxAutomationPeer.cs
- LogicalExpressionTypeConverter.cs
- FirewallWrapper.cs
- SQLDouble.cs
- SqlInternalConnectionTds.cs
- ParameterInfo.cs
- SerializationUtilities.cs
- TreeViewTemplateSelector.cs
- OutputCacheModule.cs
- SymmetricAlgorithm.cs
- PostBackOptions.cs
- DataSetMappper.cs
- ExpressionBindingCollection.cs