Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Controls / CheckBox.cs / 1 / 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); IsChecked = true; } else if (e.Key == Key.OemMinus || e.Key == Key.Subtract) { e.Handled = true; ClearValue(IsPressedPropertyKey); IsChecked = false; } } } ////// 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); IsChecked = true; } else if (e.Key == Key.OemMinus || e.Key == Key.Subtract) { e.Handled = true; ClearValue(IsPressedPropertyKey); IsChecked = false; } } } ////// 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
- CommandTreeTypeHelper.cs
- DataBindingExpressionBuilder.cs
- LayoutTable.cs
- Task.cs
- GorillaCodec.cs
- Point.cs
- SymbolTable.cs
- KeyPullup.cs
- HMACSHA384.cs
- TableHeaderCell.cs
- SafeHandles.cs
- HybridDictionary.cs
- OledbConnectionStringbuilder.cs
- XPathBuilder.cs
- XpsS0ValidatingLoader.cs
- SessionSwitchEventArgs.cs
- SectionUpdates.cs
- SequentialOutput.cs
- TemplatePartAttribute.cs
- XmlSerializer.cs
- ControlTemplate.cs
- ViewCellRelation.cs
- ThrowOnMultipleAssignment.cs
- NullRuntimeConfig.cs
- RoutingBehavior.cs
- TextUtf8RawTextWriter.cs
- DescendentsWalkerBase.cs
- GAC.cs
- XPathBinder.cs
- ArrayExtension.cs
- CompensateDesigner.cs
- ApplicationFileCodeDomTreeGenerator.cs
- SignedXmlDebugLog.cs
- ConfigurationStrings.cs
- Directory.cs
- SerialPort.cs
- PathGeometry.cs
- FontWeights.cs
- SequentialOutput.cs
- JsonUriDataContract.cs
- ChtmlTextWriter.cs
- SimpleColumnProvider.cs
- GuidelineCollection.cs
- ProgressBarAutomationPeer.cs
- SecurityDocument.cs
- HelpInfo.cs
- PropertyGeneratedEventArgs.cs
- XmlSortKeyAccumulator.cs
- ContextMarshalException.cs
- ResolveMatchesCD1.cs
- GridViewColumn.cs
- DbCommandTree.cs
- TimeSpanParse.cs
- PrivateFontCollection.cs
- BitmapImage.cs
- PasswordRecovery.cs
- HashHelper.cs
- HtmlShim.cs
- RegistryPermission.cs
- XmlAutoDetectWriter.cs
- MultiBinding.cs
- DecoderBestFitFallback.cs
- ConfigurationPropertyAttribute.cs
- TypeConverterBase.cs
- Message.cs
- ByteStorage.cs
- DataGridCellAutomationPeer.cs
- RepeaterItem.cs
- EntityContainerAssociationSet.cs
- metrodevice.cs
- CodePropertyReferenceExpression.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- ArglessEventHandlerProxy.cs
- EmbeddedMailObjectsCollection.cs
- ProgressBarRenderer.cs
- CommandBinding.cs
- NamedPipeWorkerProcess.cs
- LineInfo.cs
- SqlAggregateChecker.cs
- ExpressionBinding.cs
- DetailsViewInsertEventArgs.cs
- DrawingCollection.cs
- HostingEnvironmentSection.cs
- CfgArc.cs
- Monitor.cs
- ScriptIgnoreAttribute.cs
- RegistryKey.cs
- ConfigXmlComment.cs
- TableParagraph.cs
- MemberHolder.cs
- CompensationParticipant.cs
- PositiveTimeSpanValidatorAttribute.cs
- InternalPermissions.cs
- TrustExchangeException.cs
- SkipStoryboardToFill.cs
- Stream.cs
- PlanCompilerUtil.cs
- SQLSingleStorage.cs
- TreeViewImageKeyConverter.cs
- DebugInfoExpression.cs