Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / InterOp / HwndSourceKeyboardInputSite.cs / 2 / HwndSourceKeyboardInputSite.cs
using System; using System.Windows.Input; using System.Collections; using MS.Win32; using System.Windows.Media; using System.Windows.Threading; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; using System.Security ; using MS.Internal.PresentationCore; namespace System.Windows.Interop { internal class HwndSourceKeyboardInputSite : IKeyboardInputSite { public HwndSourceKeyboardInputSite(HwndSource source, IKeyboardInputSink sink) { if(source == null) { throw new ArgumentNullException("source"); } if(sink == null) { throw new ArgumentNullException("sink"); } if(!(sink is UIElement)) { throw new ArgumentException(SR.Get(SRID.KeyboardSinkMustBeAnElement), "sink"); } _source = source; _sink = sink; _sink.KeyboardInputSite = this; _sinkElement = sink as UIElement; } #region IKeyboardInputSite ////// Unregisters a child KeyboardInputSink from this sink. /// ////// Requires unmanaged code permission. /// ////// Critical - calls CriticalUnregister. /// TreatAsSafe: - Interface declaration demands unrestricted UI permission /// [ SecurityCritical,SecurityTreatAsSafe ] void IKeyboardInputSite.Unregister() { CriticalUnregister(); } ////// Unregisters a child KeyboardInputSink from this sink. /// ////// Critical - calls CriticalUnregisterKeyboardInputSink /// [ SecurityCritical ] internal void CriticalUnregister() { if(_source != null && _sink != null) { _source.CriticalUnregisterKeyboardInputSink(this); _sink.KeyboardInputSite = null; } _source = null; _sink = null; } ////// Returns the sink associated with this site (the "child", not /// the "parent" sink that owns the site). There's no way of /// getting from the site to the parent sink. /// IKeyboardInputSink IKeyboardInputSite.Sink { get { return _sink; } } ////// Components call this when they want to move focus ("tab") but /// have nowhere further to tab within their own component. Return /// value is true if the site moved focus, false if the calling /// component still has focus and should wrap around. /// bool IKeyboardInputSite.OnNoMoreTabStops(TraversalRequest request) { bool traversed = false; if(_sinkElement != null) { traversed = _sinkElement.MoveFocus(request); } return traversed; } #endregion IKeyboardInputSite private HwndSource _source; private IKeyboardInputSink _sink; private UIElement _sinkElement; } } // 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
- PointValueSerializer.cs
- DefaultPrintController.cs
- SslSecurityTokenParameters.cs
- ParseChildrenAsPropertiesAttribute.cs
- SqlCommandAsyncResult.cs
- InfocardInteractiveChannelInitializer.cs
- Funcletizer.cs
- StreamAsIStream.cs
- UniqueConstraint.cs
- XmlAttributeHolder.cs
- WsatConfiguration.cs
- RenderOptions.cs
- WindowsNonControl.cs
- Emitter.cs
- messageonlyhwndwrapper.cs
- ParamArrayAttribute.cs
- ProgramPublisher.cs
- XmlValueConverter.cs
- WindowsTitleBar.cs
- DeviceSpecific.cs
- DrawingContextDrawingContextWalker.cs
- OciLobLocator.cs
- PolicyValidator.cs
- DependencyObject.cs
- MoveSizeWinEventHandler.cs
- LoadWorkflowAsyncResult.cs
- SqlNamer.cs
- TrustManager.cs
- ControlBindingsConverter.cs
- NeedSkipTokenVisitor.cs
- TextEditorParagraphs.cs
- UInt64.cs
- CodeCatchClauseCollection.cs
- KnownBoxes.cs
- Atom10FormatterFactory.cs
- RsaSecurityKey.cs
- DataGridRowClipboardEventArgs.cs
- RightsManagementInformation.cs
- DataControlFieldHeaderCell.cs
- ToolZone.cs
- AndCondition.cs
- ObjectKeyFrameCollection.cs
- ping.cs
- MetadataPropertyvalue.cs
- ToolStripContentPanelRenderEventArgs.cs
- DBCSCodePageEncoding.cs
- ExecutionEngineException.cs
- CodeCommentStatement.cs
- TextDecoration.cs
- SqlTransaction.cs
- IntSecurity.cs
- SQLBinary.cs
- _WebProxyDataBuilder.cs
- IndentedTextWriter.cs
- InboundActivityHelper.cs
- Validator.cs
- SerTrace.cs
- DesignTimeTemplateParser.cs
- ColorMatrix.cs
- JsonDataContract.cs
- TypeUtils.cs
- SqlTriggerContext.cs
- ConnectionsZone.cs
- PropertyGridCommands.cs
- TextViewSelectionProcessor.cs
- FontStyle.cs
- SqlDataSourceQueryEditor.cs
- BindingOperations.cs
- TrackingMemoryStreamFactory.cs
- WebPartTransformerCollection.cs
- UnicodeEncoding.cs
- TypeListConverter.cs
- UnionCodeGroup.cs
- FormsAuthenticationCredentials.cs
- BitmapSource.cs
- NavigationExpr.cs
- GetPageNumberCompletedEventArgs.cs
- XmlDataProvider.cs
- ReadOnlyTernaryTree.cs
- SqlDataSourceSummaryPanel.cs
- RangeValidator.cs
- GenericIdentity.cs
- GenericWebPart.cs
- WCFServiceClientProxyGenerator.cs
- EntitySetBaseCollection.cs
- DesignTimeSiteMapProvider.cs
- ConstraintConverter.cs
- WbmpConverter.cs
- WizardPanel.cs
- QilTypeChecker.cs
- ClientApiGenerator.cs
- HistoryEventArgs.cs
- FileVersion.cs
- CreateUserWizardStep.cs
- Point3D.cs
- SoapProtocolImporter.cs
- CheckBoxList.cs
- Ray3DHitTestResult.cs
- CheckBoxStandardAdapter.cs
- OracleTransaction.cs