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
- MsmqIntegrationChannelListener.cs
- KeyValuePairs.cs
- TableColumnCollectionInternal.cs
- SafeLibraryHandle.cs
- MasterPageCodeDomTreeGenerator.cs
- UnionCqlBlock.cs
- CodeConditionStatement.cs
- Variant.cs
- MenuBindingsEditorForm.cs
- GridView.cs
- CryptoKeySecurity.cs
- FilterQueryOptionExpression.cs
- BaseInfoTable.cs
- XslVisitor.cs
- ColumnReorderedEventArgs.cs
- RegularExpressionValidator.cs
- XsltFunctions.cs
- ImageUrlEditor.cs
- BuildProvidersCompiler.cs
- IApplicationTrustManager.cs
- AnnotationHighlightLayer.cs
- QilInvokeLateBound.cs
- ServicePointManager.cs
- CapabilitiesSection.cs
- PolicyManager.cs
- SecurityTokenValidationException.cs
- PersistChildrenAttribute.cs
- StringTraceRecord.cs
- XPathChildIterator.cs
- Profiler.cs
- TextMessageEncoder.cs
- RoutingEndpointTrait.cs
- BaseCollection.cs
- RewritingProcessor.cs
- WsdlWriter.cs
- ConnectionStringsExpressionBuilder.cs
- WindowsProgressbar.cs
- SamlAction.cs
- IntSumAggregationOperator.cs
- OperandQuery.cs
- PolyBezierSegmentFigureLogic.cs
- HtmlLinkAdapter.cs
- UdpDiscoveryEndpointProvider.cs
- MethodCallConverter.cs
- DataObjectMethodAttribute.cs
- SendParametersContent.cs
- StringToken.cs
- HotSpotCollection.cs
- XslTransform.cs
- InfoCardClaimCollection.cs
- QueuePathEditor.cs
- RTLAwareMessageBox.cs
- TailPinnedEventArgs.cs
- TabControlAutomationPeer.cs
- StateMachineSubscription.cs
- CatalogZoneAutoFormat.cs
- ObjectMemberMapping.cs
- CdpEqualityComparer.cs
- XpsException.cs
- ClientCultureInfo.cs
- BinaryObjectReader.cs
- DirtyTextRange.cs
- DesignerCommandSet.cs
- TdsParserHelperClasses.cs
- SchemaCreator.cs
- QuaternionValueSerializer.cs
- SchemaComplexType.cs
- BindingManagerDataErrorEventArgs.cs
- ItemsPanelTemplate.cs
- OutputScopeManager.cs
- XslAst.cs
- PermissionToken.cs
- OrderedDictionaryStateHelper.cs
- FlowNode.cs
- ObjectDataSourceStatusEventArgs.cs
- RelatedCurrencyManager.cs
- base64Transforms.cs
- DATA_BLOB.cs
- Accessible.cs
- KnownTypesHelper.cs
- GenericIdentity.cs
- MailHeaderInfo.cs
- Rect.cs
- ToolStripRenderEventArgs.cs
- MouseWheelEventArgs.cs
- LogReservationCollection.cs
- StateManager.cs
- HostedHttpTransportManager.cs
- HttpServerVarsCollection.cs
- HttpApplicationFactory.cs
- NodeFunctions.cs
- Model3DGroup.cs
- SubpageParaClient.cs
- ILGenerator.cs
- FlowNode.cs
- UnmanagedMemoryStream.cs
- GenericPrincipal.cs
- EditorBrowsableAttribute.cs
- PanelStyle.cs
- LogManagementAsyncResult.cs