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
- JsonFormatWriterGenerator.cs
- UInt64Storage.cs
- RadioButtonFlatAdapter.cs
- DrawingAttributeSerializer.cs
- SmtpFailedRecipientsException.cs
- FormatException.cs
- EastAsianLunisolarCalendar.cs
- CompilerResults.cs
- ResourceSetExpression.cs
- XamlPathDataSerializer.cs
- TraceLog.cs
- TypeSystem.cs
- SafeNativeMethods.cs
- PersistenceTypeAttribute.cs
- CodeIterationStatement.cs
- SystemEvents.cs
- BufferedStream2.cs
- QilXmlWriter.cs
- Models.cs
- ConnectionStringsExpressionEditor.cs
- ReverseInheritProperty.cs
- VectorCollectionValueSerializer.cs
- FocusManager.cs
- SafeEventLogWriteHandle.cs
- DispatcherObject.cs
- IssuedTokenClientCredential.cs
- CodeStatement.cs
- TemplateManager.cs
- UnsafeNativeMethods.cs
- TableRow.cs
- KeyedCollection.cs
- ErrorStyle.cs
- PolicyManager.cs
- PrintPreviewControl.cs
- ConfigDefinitionUpdates.cs
- Condition.cs
- LocalizationComments.cs
- RestClientProxyHandler.cs
- ObsoleteAttribute.cs
- Lease.cs
- VariableExpressionConverter.cs
- DataSourceIDConverter.cs
- SqlDataSourceSelectingEventArgs.cs
- PerformanceCounterPermission.cs
- TreeViewImageGenerator.cs
- HtmlTableCellCollection.cs
- CodeTypeMemberCollection.cs
- QueryContext.cs
- MethodExpr.cs
- XsltContext.cs
- DefaultValueTypeConverter.cs
- ClientFormsIdentity.cs
- BitStream.cs
- EntityContainerAssociationSetEnd.cs
- FtpWebResponse.cs
- BaseTemplateCodeDomTreeGenerator.cs
- InputBuffer.cs
- SiteIdentityPermission.cs
- CommandConverter.cs
- MissingMethodException.cs
- HttpFileCollection.cs
- ScriptRef.cs
- basenumberconverter.cs
- PermissionListSet.cs
- printdlgexmarshaler.cs
- CompilerState.cs
- ArgumentDesigner.xaml.cs
- SrgsElementList.cs
- BitConverter.cs
- HGlobalSafeHandle.cs
- AliasGenerator.cs
- DataSourceCache.cs
- CqlLexer.cs
- QuadTree.cs
- XamlGridLengthSerializer.cs
- UIntPtr.cs
- MatrixStack.cs
- Int16Animation.cs
- XmlNavigatorFilter.cs
- DispatcherEventArgs.cs
- ExeContext.cs
- DetailsViewInsertedEventArgs.cs
- PriorityItem.cs
- DateBoldEvent.cs
- DependencyPropertyKind.cs
- XmlObjectSerializer.cs
- basenumberconverter.cs
- ListManagerBindingsCollection.cs
- ListenerUnsafeNativeMethods.cs
- VirtualPathUtility.cs
- ValidatorCompatibilityHelper.cs
- BamlTreeNode.cs
- WaitForChangedResult.cs
- ListViewGroupConverter.cs
- MultiByteCodec.cs
- PropVariant.cs
- ECDsaCng.cs
- DefaultWorkflowLoaderService.cs
- WindowsToolbarItemAsMenuItem.cs
- ExeContext.cs