Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / Primitives / CalendarButton.cs / 1305600 / CalendarButton.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System.Windows; using System.Windows.Automation.Peers; using System.Windows.Controls; using System.Windows.Data; namespace System.Windows.Controls.Primitives { ////// Represents a button control used in Calendar Control, which reacts to the Click event. /// public sealed class CalendarButton : Button { ////// Static constructor /// static CalendarButton() { DefaultStyleKeyProperty.OverrideMetadata(typeof(CalendarButton), new FrameworkPropertyMetadata(typeof(CalendarButton))); } ////// Represents the CalendarButton that is used in Calendar Control. /// public CalendarButton() : base() { } #region Public Properties #region HasSelectedDays internal static readonly DependencyPropertyKey HasSelectedDaysPropertyKey = DependencyProperty.RegisterReadOnly( "HasSelectedDays", typeof(bool), typeof(CalendarButton), new FrameworkPropertyMetadata(false, new PropertyChangedCallback(OnVisualStatePropertyChanged))); ////// Dependency property field for HasSelectedDays property /// public static readonly DependencyProperty HasSelectedDaysProperty = HasSelectedDaysPropertyKey.DependencyProperty; ////// True if the CalendarButton represents a date range containing the display date /// public bool HasSelectedDays { get { return (bool)GetValue(HasSelectedDaysProperty); } internal set { SetValue(HasSelectedDaysPropertyKey, value); } } #endregion HasSelectedDays #region IsInactive internal static readonly DependencyPropertyKey IsInactivePropertyKey = DependencyProperty.RegisterReadOnly( "IsInactive", typeof(bool), typeof(CalendarButton), new FrameworkPropertyMetadata(false, new PropertyChangedCallback(OnVisualStatePropertyChanged))); ////// Dependency property field for IsInactive property /// public static readonly DependencyProperty IsInactiveProperty = IsInactivePropertyKey.DependencyProperty; ////// True if the CalendarButton represents /// a month that falls outside the current year /// or /// a year that falls outside the current decade /// public bool IsInactive { get { return (bool)GetValue(IsInactiveProperty); } internal set { SetValue(IsInactivePropertyKey, value); } } #endregion IsInactive #endregion Public Properties #region Internal Properties internal Calendar Owner { get; set; } #endregion Internal Properties #region Public Methods #endregion Public Methods #region Protected Methods ////// Change to the correct visual state for the button. /// /// /// true to use transitions when updating the visual state, false to /// snap directly to the new visual state. /// internal override void ChangeVisualState(bool useTransitions) { // Update the SelectionStates group if (HasSelectedDays) { VisualStates.GoToState(this, useTransitions, VisualStates.StateSelected, VisualStates.StateUnselected); } else { VisualStateManager.GoToState(this, VisualStates.StateUnselected, useTransitions); } // Update the ActiveStates group if (!IsInactive) { VisualStates.GoToState(this, useTransitions, VisualStates.StateActive, VisualStates.StateInactive); } else { VisualStateManager.GoToState(this, VisualStates.StateInactive, useTransitions); } // Update the FocusStates group if (IsKeyboardFocused) { VisualStates.GoToState(this, useTransitions, VisualStates.StateCalendarButtonFocused, VisualStates.StateCalendarButtonUnfocused); } else { VisualStateManager.GoToState(this, VisualStates.StateCalendarButtonUnfocused, useTransitions); } base.ChangeVisualState(useTransitions); } ////// Creates the automation peer for the DayButton. /// ///protected override AutomationPeer OnCreateAutomationPeer() { return new CalendarButtonAutomationPeer(this); } #endregion Protected Methods #region Internal Methods internal void SetContentInternal(string value) { SetCurrentValueInternal(ContentControl.ContentProperty, value); } #endregion } } // 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
- FrameAutomationPeer.cs
- WebPartsPersonalization.cs
- listitem.cs
- DocumentSchemaValidator.cs
- SafeCryptoHandles.cs
- CryptoHandle.cs
- BinaryObjectReader.cs
- LayoutExceptionEventArgs.cs
- OutOfProcStateClientManager.cs
- DynamicValidatorEventArgs.cs
- Error.cs
- COM2PropertyDescriptor.cs
- KeyboardDevice.cs
- QueryCreatedEventArgs.cs
- FixedSOMGroup.cs
- EdmComplexPropertyAttribute.cs
- Listen.cs
- SendMailErrorEventArgs.cs
- OleDbMetaDataFactory.cs
- CallbackException.cs
- MdImport.cs
- ElapsedEventArgs.cs
- MoveSizeWinEventHandler.cs
- MemberDomainMap.cs
- SafeNativeMethods.cs
- SafeLocalMemHandle.cs
- VirtualPathUtility.cs
- CngAlgorithmGroup.cs
- ErrorProvider.cs
- RawStylusInput.cs
- PageRanges.cs
- GeometryHitTestParameters.cs
- PackWebResponse.cs
- TableLayoutPanelCellPosition.cs
- HttpTransportManager.cs
- User.cs
- IncrementalReadDecoders.cs
- GenericAuthenticationEventArgs.cs
- ConnectAlgorithms.cs
- infer.cs
- JavaScriptString.cs
- CodeDelegateCreateExpression.cs
- remotingproxy.cs
- MarkedHighlightComponent.cs
- BitmapEffectGroup.cs
- Brush.cs
- DynamicDocumentPaginator.cs
- ToolStripContainer.cs
- ImageFormat.cs
- HtmlInputFile.cs
- Directory.cs
- SupportsEventValidationAttribute.cs
- CompilationUnit.cs
- AliasExpr.cs
- EntityObject.cs
- CodeCompiler.cs
- IfAction.cs
- ValueSerializer.cs
- MemberAccessException.cs
- PersonalizableAttribute.cs
- SafeLocalMemHandle.cs
- WebBrowserNavigatedEventHandler.cs
- ToolBarOverflowPanel.cs
- RecordsAffectedEventArgs.cs
- ProtocolsConfiguration.cs
- DeferredElementTreeState.cs
- GlyphingCache.cs
- FontFamilyConverter.cs
- ByteStack.cs
- GatewayDefinition.cs
- BevelBitmapEffect.cs
- HttpCapabilitiesSectionHandler.cs
- WebSysDescriptionAttribute.cs
- XmlWriter.cs
- TextDecoration.cs
- IdnMapping.cs
- VisualBasicHelper.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- DesignTimeParseData.cs
- XmlSecureResolver.cs
- Base64Decoder.cs
- DiscoveryVersion.cs
- CommonRemoteMemoryBlock.cs
- HttpListenerElement.cs
- GZipStream.cs
- SystemInfo.cs
- EndpointInfoCollection.cs
- DuplexClientBase.cs
- EntityContainerEntitySet.cs
- BrowserTree.cs
- MessageCredentialType.cs
- HelpFileFileNameEditor.cs
- ActiveDocumentEvent.cs
- DateTimeFormatInfoScanner.cs
- ServiceModelConfiguration.cs
- ExtenderProvidedPropertyAttribute.cs
- SystemWebCachingSectionGroup.cs
- CollectionViewGroup.cs
- ColorMap.cs
- Track.cs