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
- DataStorage.cs
- EntityDataSourceDesignerHelper.cs
- TextBreakpoint.cs
- DiscoveryClientOutputChannel.cs
- ZipFileInfo.cs
- EdgeModeValidation.cs
- ModulesEntry.cs
- ImageAutomationPeer.cs
- HuffModule.cs
- ComponentFactoryHelpers.cs
- DeploymentSection.cs
- ResXResourceSet.cs
- InvokeCompletedEventArgs.cs
- Camera.cs
- GridToolTip.cs
- CreateUserErrorEventArgs.cs
- ExeConfigurationFileMap.cs
- OdbcDataReader.cs
- OrthographicCamera.cs
- GAC.cs
- FacetValueContainer.cs
- LinqDataSourceStatusEventArgs.cs
- CapabilitiesPattern.cs
- UserControlCodeDomTreeGenerator.cs
- ThrowHelper.cs
- EdmError.cs
- NativeMsmqMessage.cs
- Version.cs
- AutomationPropertyInfo.cs
- TimeSpanOrInfiniteConverter.cs
- ExpressionPrefixAttribute.cs
- _Connection.cs
- BamlVersionHeader.cs
- DecoderFallback.cs
- httpserverutility.cs
- ProgressChangedEventArgs.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- PeerNameRecordCollection.cs
- HierarchicalDataSourceControl.cs
- MessageDecoder.cs
- ActiveXContainer.cs
- PresentationSource.cs
- IgnoreFileBuildProvider.cs
- SqlClientWrapperSmiStreamChars.cs
- DetailsViewModeEventArgs.cs
- RepeaterItemCollection.cs
- dataobject.cs
- CodeDOMUtility.cs
- Binding.cs
- ListViewTableRow.cs
- SessionPageStateSection.cs
- FtpRequestCacheValidator.cs
- DataGridParentRows.cs
- PolyBezierSegment.cs
- SyndicationElementExtension.cs
- RSAPKCS1SignatureFormatter.cs
- CharEnumerator.cs
- PartialCachingAttribute.cs
- DBCommand.cs
- FixUpCollection.cs
- FloaterBaseParagraph.cs
- ToolCreatedEventArgs.cs
- Pen.cs
- ExpressionBuilder.cs
- XmlAutoDetectWriter.cs
- wmiprovider.cs
- DirectoryNotFoundException.cs
- QueryableDataSourceView.cs
- UIElementHelper.cs
- StylusPointCollection.cs
- ValidatorAttribute.cs
- AllMembershipCondition.cs
- DocumentViewerHelper.cs
- ConsumerConnectionPoint.cs
- TripleDESCryptoServiceProvider.cs
- HorizontalAlignConverter.cs
- ControlBuilderAttribute.cs
- ChildDocumentBlock.cs
- OdbcDataReader.cs
- IriParsingElement.cs
- LiteralTextContainerControlBuilder.cs
- ObjectHelper.cs
- TableTextElementCollectionInternal.cs
- SecurityPolicySection.cs
- ExcludePathInfo.cs
- XmlMapping.cs
- UiaCoreProviderApi.cs
- SQLUtility.cs
- StrongNamePublicKeyBlob.cs
- RestHandlerFactory.cs
- URLString.cs
- XmlAttribute.cs
- CodeCommentStatement.cs
- NodeFunctions.cs
- URLMembershipCondition.cs
- HostExecutionContextManager.cs
- ScriptManager.cs
- PrivilegedConfigurationManager.cs
- GlyphElement.cs
- Button.cs