Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / CheckBox.cs / 1458001 / CheckBox.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.Collections; using System.ComponentModel; using System.Windows.Threading; using System.Windows.Automation; using System.Windows.Controls.Primitives; using System.Windows; using System.Windows.Input; using System.Windows.Media; using MS.Utility; using MS.Internal.KnownBoxes; // Disable CS3001: Warning as Error: not CLS-compliant #pragma warning disable 3001 namespace System.Windows.Controls { #region CheckBox class ////// Use a CheckBox to give the user an option, such as true/false. /// CheckBox allow the user to choose from a list of options. /// CheckBox controls let the user pick a combination of options. /// [DefaultEvent("CheckStateChanged")] [Localizability(LocalizationCategory.CheckBox)] public class CheckBox : ToggleButton { #region Constructors static CheckBox() { // Set the default Style DefaultStyleKeyProperty.OverrideMetadata(typeof(CheckBox), new FrameworkPropertyMetadata(typeof(CheckBox))); _dType = DependencyObjectType.FromSystemTypeInternal(typeof(CheckBox)); KeyboardNavigation.AcceptsReturnProperty.OverrideMetadata(typeof(CheckBox), new FrameworkPropertyMetadata(BooleanBoxes.FalseBox)); } ////// Default CheckBox constructor /// ////// Automatic determination of current Dispatcher. Use alternative constructor /// that accepts a Dispatcher for best performance. /// public CheckBox() : base() { } #endregion #region Override methods ////// Creates AutomationPeer ( protected override System.Windows.Automation.Peers.AutomationPeer OnCreateAutomationPeer() { return new System.Windows.Automation.Peers.CheckBoxAutomationPeer(this); } ///) /// /// This is the method that responds to the KeyDown event. /// /// protected override void OnKeyDown(KeyEventArgs e) { base.OnKeyDown(e); // Add aditional keys "+" and "-" when we are not in IsThreeState mode if (!IsThreeState) { if (e.Key == Key.OemPlus || e.Key == Key.Add) { e.Handled = true; ClearValue(IsPressedPropertyKey); SetCurrentValueInternal(IsCheckedProperty, BooleanBoxes.TrueBox); } else if (e.Key == Key.OemMinus || e.Key == Key.Subtract) { e.Handled = true; ClearValue(IsPressedPropertyKey); SetCurrentValueInternal(IsCheckedProperty, BooleanBoxes.FalseBox); } } } ////// The Access key for this control was invoked. /// /// protected override void OnAccessKey(AccessKeyEventArgs e) { if (!IsKeyboardFocused) { Focus(); } base.OnAccessKey(e); } #endregion #region Data #endregion #region DTypeThemeStyleKey // Returns the DependencyObjectType for the registered ThemeStyleKey's default // value. Controls will override this method to return approriate types. internal override DependencyObjectType DTypeThemeStyleKey { get { return _dType; } } private static DependencyObjectType _dType; #endregion DTypeThemeStyleKey } #endregion CheckBox class } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.Collections; using System.ComponentModel; using System.Windows.Threading; using System.Windows.Automation; using System.Windows.Controls.Primitives; using System.Windows; using System.Windows.Input; using System.Windows.Media; using MS.Utility; using MS.Internal.KnownBoxes; // Disable CS3001: Warning as Error: not CLS-compliant #pragma warning disable 3001 namespace System.Windows.Controls { #region CheckBox class ////// Use a CheckBox to give the user an option, such as true/false. /// CheckBox allow the user to choose from a list of options. /// CheckBox controls let the user pick a combination of options. /// [DefaultEvent("CheckStateChanged")] [Localizability(LocalizationCategory.CheckBox)] public class CheckBox : ToggleButton { #region Constructors static CheckBox() { // Set the default Style DefaultStyleKeyProperty.OverrideMetadata(typeof(CheckBox), new FrameworkPropertyMetadata(typeof(CheckBox))); _dType = DependencyObjectType.FromSystemTypeInternal(typeof(CheckBox)); KeyboardNavigation.AcceptsReturnProperty.OverrideMetadata(typeof(CheckBox), new FrameworkPropertyMetadata(BooleanBoxes.FalseBox)); } ////// Default CheckBox constructor /// ////// Automatic determination of current Dispatcher. Use alternative constructor /// that accepts a Dispatcher for best performance. /// public CheckBox() : base() { } #endregion #region Override methods ////// Creates AutomationPeer ( protected override System.Windows.Automation.Peers.AutomationPeer OnCreateAutomationPeer() { return new System.Windows.Automation.Peers.CheckBoxAutomationPeer(this); } ///) /// /// This is the method that responds to the KeyDown event. /// /// protected override void OnKeyDown(KeyEventArgs e) { base.OnKeyDown(e); // Add aditional keys "+" and "-" when we are not in IsThreeState mode if (!IsThreeState) { if (e.Key == Key.OemPlus || e.Key == Key.Add) { e.Handled = true; ClearValue(IsPressedPropertyKey); SetCurrentValueInternal(IsCheckedProperty, BooleanBoxes.TrueBox); } else if (e.Key == Key.OemMinus || e.Key == Key.Subtract) { e.Handled = true; ClearValue(IsPressedPropertyKey); SetCurrentValueInternal(IsCheckedProperty, BooleanBoxes.FalseBox); } } } ////// The Access key for this control was invoked. /// /// protected override void OnAccessKey(AccessKeyEventArgs e) { if (!IsKeyboardFocused) { Focus(); } base.OnAccessKey(e); } #endregion #region Data #endregion #region DTypeThemeStyleKey // Returns the DependencyObjectType for the registered ThemeStyleKey's default // value. Controls will override this method to return approriate types. internal override DependencyObjectType DTypeThemeStyleKey { get { return _dType; } } private static DependencyObjectType _dType; #endregion DTypeThemeStyleKey } #endregion CheckBox class } // 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
- HierarchicalDataSourceDesigner.cs
- XsdValidatingReader.cs
- ClientScriptItem.cs
- QilUnary.cs
- EdmMember.cs
- ExchangeUtilities.cs
- Events.cs
- SqlColumnizer.cs
- ActivityAction.cs
- GridViewCommandEventArgs.cs
- TextSelection.cs
- SafeSystemMetrics.cs
- SQLInt32.cs
- WebBrowserEvent.cs
- WebPartEditorOkVerb.cs
- AdCreatedEventArgs.cs
- SplitterDesigner.cs
- SafeArrayTypeMismatchException.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- DynamicValidatorEventArgs.cs
- AgileSafeNativeMemoryHandle.cs
- EventProperty.cs
- SizeAnimationUsingKeyFrames.cs
- CodeSubDirectory.cs
- XmlEventCache.cs
- DefaultAsyncDataDispatcher.cs
- ISessionStateStore.cs
- TagPrefixAttribute.cs
- FixedPageProcessor.cs
- ActiveXContainer.cs
- GenericTypeParameterBuilder.cs
- SyndicationItemFormatter.cs
- TextViewBase.cs
- SecurityHeaderElementInferenceEngine.cs
- WCFServiceClientProxyGenerator.cs
- ContextQuery.cs
- GPStream.cs
- GeneratedCodeAttribute.cs
- Activity.cs
- XmlSerializerSection.cs
- BaseCAMarshaler.cs
- GrammarBuilderRuleRef.cs
- XmlAttributeHolder.cs
- MultiByteCodec.cs
- DataGridPagerStyle.cs
- SchemaImporter.cs
- Tuple.cs
- BamlLocalizabilityResolver.cs
- InvalidOperationException.cs
- webclient.cs
- UnsafeNativeMethods.cs
- AbstractExpressions.cs
- WeakEventTable.cs
- CodeTypeReferenceExpression.cs
- EndpointAddress10.cs
- LicenseContext.cs
- KnownTypesProvider.cs
- DataGridViewColumnHeaderCell.cs
- MetadataArtifactLoaderCompositeResource.cs
- ProjectionCamera.cs
- ProxyHwnd.cs
- KnownTypesProvider.cs
- GeneralTransform3DTo2DTo3D.cs
- GroupBoxRenderer.cs
- EntityCommandCompilationException.cs
- FixedSOMTableCell.cs
- PeerNeighborManager.cs
- WindowsRichEdit.cs
- PenContext.cs
- TransactionValidationBehavior.cs
- ColumnWidthChangingEvent.cs
- PaginationProgressEventArgs.cs
- Context.cs
- ExponentialEase.cs
- DataGridHeaderBorder.cs
- OleCmdHelper.cs
- ConfigurationSectionGroup.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- FixedSOMElement.cs
- AddInToken.cs
- CryptoApi.cs
- ColumnTypeConverter.cs
- PartitionerStatic.cs
- XmlHierarchicalEnumerable.cs
- ProviderBase.cs
- ConvertEvent.cs
- brushes.cs
- PathSegmentCollection.cs
- X509CertificateStore.cs
- ReaderWriterLockWrapper.cs
- GradientStop.cs
- SerialReceived.cs
- Binding.cs
- TimerTable.cs
- externdll.cs
- FormsAuthenticationUser.cs
- XmlWriterTraceListener.cs
- AttributeEmitter.cs
- DataGridCommandEventArgs.cs
- SoapFormatter.cs