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
- SourceItem.cs
- NavigationFailedEventArgs.cs
- DesignerActionListCollection.cs
- SerializationHelper.cs
- ContainerParagraph.cs
- LoginView.cs
- StoreAnnotationsMap.cs
- basecomparevalidator.cs
- Symbol.cs
- SiblingIterators.cs
- SchemaInfo.cs
- EntityDataSourceView.cs
- TransactionContextValidator.cs
- X509CertificateValidator.cs
- CatalogPartChrome.cs
- DebuggerAttributes.cs
- JsonByteArrayDataContract.cs
- SafeSecurityHelper.cs
- XmlException.cs
- wgx_exports.cs
- Point3DCollection.cs
- GridItemPattern.cs
- XmlWrappingReader.cs
- Focus.cs
- TimersDescriptionAttribute.cs
- EnumMemberAttribute.cs
- ButtonDesigner.cs
- BuilderPropertyEntry.cs
- SystemEvents.cs
- CertificateManager.cs
- Utilities.cs
- GPRECT.cs
- InfoCardRSACryptoProvider.cs
- VisualTreeUtils.cs
- ExceptionHandler.cs
- DbProviderManifest.cs
- Button.cs
- StandardRuntimeEnumValidator.cs
- IdentityValidationException.cs
- ApplicationException.cs
- SupportingTokenAuthenticatorSpecification.cs
- AnnouncementInnerClientCD1.cs
- TextSpanModifier.cs
- AuthenticationModulesSection.cs
- ServiceOperation.cs
- ListenDesigner.cs
- ProcessThreadCollection.cs
- ProgressBarRenderer.cs
- TextPattern.cs
- ModelItem.cs
- arclist.cs
- CryptographicAttribute.cs
- Color.cs
- Win32.cs
- TimeSpanStorage.cs
- EditorPart.cs
- UnSafeCharBuffer.cs
- RelationshipConstraintValidator.cs
- StrokeCollection.cs
- LineGeometry.cs
- CornerRadius.cs
- PropagationProtocolsTracing.cs
- CdpEqualityComparer.cs
- SqlUdtInfo.cs
- StoragePropertyMapping.cs
- Utilities.cs
- MaterialGroup.cs
- VarRefManager.cs
- XmlSecureResolver.cs
- PolyQuadraticBezierSegment.cs
- ClientFormsIdentity.cs
- ServiceContractDetailViewControl.cs
- ITextView.cs
- Queue.cs
- DocumentPaginator.cs
- CipherData.cs
- OutputCacheSettings.cs
- TextEditorSpelling.cs
- Part.cs
- CodeArrayCreateExpression.cs
- HandlerBase.cs
- MemberInfoSerializationHolder.cs
- AnonymousIdentificationModule.cs
- ValidationEventArgs.cs
- TableLayoutCellPaintEventArgs.cs
- BooleanKeyFrameCollection.cs
- UnconditionalPolicy.cs
- IgnoreFlushAndCloseStream.cs
- OleDbRowUpdatingEvent.cs
- RangeValuePatternIdentifiers.cs
- RemotingAttributes.cs
- GraphicsState.cs
- AnnotationAuthorChangedEventArgs.cs
- HttpCachePolicy.cs
- EdgeModeValidation.cs
- LinkButton.cs
- OleDbCommandBuilder.cs
- OdbcUtils.cs
- DataServiceHostWrapper.cs
- InnerItemCollectionView.cs