Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------------- // // 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
- LineGeometry.cs
- WebChannelFactory.cs
- AsmxEndpointPickerExtension.cs
- VectorValueSerializer.cs
- Single.cs
- ScrollEventArgs.cs
- FullTextBreakpoint.cs
- TextServicesDisplayAttribute.cs
- SignedXml.cs
- Events.cs
- TreeNodeCollection.cs
- VirtualizingStackPanel.cs
- XmlSchemaComplexContent.cs
- XXXOnTypeBuilderInstantiation.cs
- DesignerResources.cs
- StackOverflowException.cs
- MsmqHostedTransportManager.cs
- RemotingException.cs
- SourceItem.cs
- DeleteIndexBinder.cs
- DesignUtil.cs
- Token.cs
- SoapTypeAttribute.cs
- InputReferenceExpression.cs
- EventRouteFactory.cs
- SerializationInfoEnumerator.cs
- CreatingCookieEventArgs.cs
- NodeFunctions.cs
- HMACSHA256.cs
- PrimitiveXmlSerializers.cs
- BrushValueSerializer.cs
- LowerCaseStringConverter.cs
- ControlDesignerState.cs
- CompilerError.cs
- ThicknessAnimation.cs
- MarginCollapsingState.cs
- ImpersonationContext.cs
- ConfigurationException.cs
- SerialErrors.cs
- TableNameAttribute.cs
- HelpInfo.cs
- JsonUriDataContract.cs
- ContractValidationHelper.cs
- SwitchElementsCollection.cs
- XmlMapping.cs
- DrawingCollection.cs
- TagElement.cs
- WorkflowPageSetupDialog.cs
- DynamicExpression.cs
- ArrayList.cs
- TimerElapsedEvenArgs.cs
- SrgsDocument.cs
- AssemblyCollection.cs
- MasterPageCodeDomTreeGenerator.cs
- SystemShuttingDownException.cs
- COM2ComponentEditor.cs
- Aggregates.cs
- ObjectComplexPropertyMapping.cs
- PLINQETWProvider.cs
- WindowCollection.cs
- CompressionTracing.cs
- PrintPreviewDialog.cs
- BufferModeSettings.cs
- Oid.cs
- Convert.cs
- DataServiceResponse.cs
- basemetadatamappingvisitor.cs
- TraceHwndHost.cs
- Sentence.cs
- WindowPattern.cs
- SectionInput.cs
- DataGridViewColumnConverter.cs
- SqlUtils.cs
- InfoCardSymmetricCrypto.cs
- AutomationElement.cs
- DataSourceXmlAttributeAttribute.cs
- NetMsmqSecurityMode.cs
- TextEffectCollection.cs
- SqlFunctions.cs
- RemotingConfiguration.cs
- TransformerInfoCollection.cs
- ConsumerConnectionPointCollection.cs
- BitmapEffectDrawingContent.cs
- HttpCacheVary.cs
- RadioButtonAutomationPeer.cs
- EventToken.cs
- Wildcard.cs
- DropSource.cs
- Win32.cs
- ComponentEditorPage.cs
- EdmPropertyAttribute.cs
- BitmapCacheBrush.cs
- DashStyle.cs
- AdornerLayer.cs
- TreeNodeStyleCollection.cs
- DynamicPropertyReader.cs
- VectorAnimationUsingKeyFrames.cs
- EdmPropertyAttribute.cs
- WindowsListViewGroupHelper.cs
- CheckBoxRenderer.cs