Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- TiffBitmapDecoder.cs
- DockPatternIdentifiers.cs
- WebHttpSecurityElement.cs
- DataSourceCacheDurationConverter.cs
- PrimitiveType.cs
- Overlapped.cs
- JsonXmlDataContract.cs
- ZipIOCentralDirectoryFileHeader.cs
- ModelChangedEventArgsImpl.cs
- mansign.cs
- DecoderReplacementFallback.cs
- AsymmetricSignatureFormatter.cs
- SQLBinaryStorage.cs
- ManualResetEvent.cs
- WorkflowQueueInfo.cs
- PasswordDeriveBytes.cs
- CodeNamespaceImportCollection.cs
- ListViewItem.cs
- RegexNode.cs
- ChineseLunisolarCalendar.cs
- ModelUIElement3D.cs
- HTTPNotFoundHandler.cs
- XamlFigureLengthSerializer.cs
- LowerCaseStringConverter.cs
- XmlSchemaComplexType.cs
- TraceContextRecord.cs
- ResourcePermissionBase.cs
- LogLogRecordEnumerator.cs
- FrameDimension.cs
- XamlStyleSerializer.cs
- RecommendedAsConfigurableAttribute.cs
- MdiWindowListItemConverter.cs
- SqlRemoveConstantOrderBy.cs
- RequestQueryProcessor.cs
- DataServiceBuildProvider.cs
- DataRowChangeEvent.cs
- ProcessHostServerConfig.cs
- BinaryFormatterWriter.cs
- StylusOverProperty.cs
- RSAProtectedConfigurationProvider.cs
- DataServiceQueryProvider.cs
- SecurityElementBase.cs
- WinEventHandler.cs
- SqlDataSourceParameterParser.cs
- SecurityElement.cs
- GenericUriParser.cs
- MemoryMappedFileSecurity.cs
- grammarelement.cs
- DiffuseMaterial.cs
- TextFormatterImp.cs
- TriState.cs
- QueryTreeBuilder.cs
- XmlReflectionImporter.cs
- SynchronizedDispatch.cs
- Viewport3DAutomationPeer.cs
- MenuScrollingVisibilityConverter.cs
- DragCompletedEventArgs.cs
- mda.cs
- SocketElement.cs
- BitmapMetadataEnumerator.cs
- StatusBarAutomationPeer.cs
- SchemaMapping.cs
- RootDesignerSerializerAttribute.cs
- ConnectionInterfaceCollection.cs
- XmlRawWriter.cs
- RightNameExpirationInfoPair.cs
- SpinLock.cs
- SystemIcmpV6Statistics.cs
- BrowserCapabilitiesFactoryBase.cs
- IgnoreFlushAndCloseStream.cs
- QueryGenerator.cs
- LogManagementAsyncResult.cs
- Internal.cs
- DecoderExceptionFallback.cs
- WebPartCatalogAddVerb.cs
- AttachInfo.cs
- AnnotationResource.cs
- SubclassTypeValidatorAttribute.cs
- ElapsedEventArgs.cs
- IDispatchConstantAttribute.cs
- Transform3D.cs
- NewArrayExpression.cs
- XmlChildEnumerator.cs
- ReservationCollection.cs
- BindingCompleteEventArgs.cs
- PasswordRecovery.cs
- HideDisabledControlAdapter.cs
- DataGridRelationshipRow.cs
- HandlerBase.cs
- InputBuffer.cs
- ModelService.cs
- FacetChecker.cs
- XmlSchemaAnyAttribute.cs
- ConfigurationLocationCollection.cs
- FontCollection.cs
- XhtmlBasicValidatorAdapter.cs
- SignerInfo.cs
- SiteMapNodeItem.cs
- AssemblyAttributes.cs
- OperationPickerDialog.designer.cs