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
- FunctionDescription.cs
- EpmCustomContentWriterNodeData.cs
- NamespaceEmitter.cs
- SocketPermission.cs
- Rotation3DAnimationBase.cs
- ConditionCollection.cs
- InstalledVoice.cs
- EDesignUtil.cs
- CodeTypeDeclaration.cs
- TextSearch.cs
- RelationshipConverter.cs
- XmlSchemaObject.cs
- XmlMemberMapping.cs
- SecurityManager.cs
- DrawingState.cs
- OwnerDrawPropertyBag.cs
- OrderedHashRepartitionStream.cs
- Stackframe.cs
- CellLabel.cs
- TextEditor.cs
- DataGridToolTip.cs
- PixelFormat.cs
- WCFBuildProvider.cs
- CssStyleCollection.cs
- CopyNodeSetAction.cs
- SyndicationDeserializer.cs
- CachedTypeface.cs
- ChtmlTextWriter.cs
- AutomationEventArgs.cs
- DirectionalLight.cs
- ClockGroup.cs
- TableCellCollection.cs
- WasHttpHandlersInstallComponent.cs
- ListDictionary.cs
- WebPartMenu.cs
- ProfileEventArgs.cs
- ClientFormsIdentity.cs
- ContainerAction.cs
- PeerUnsafeNativeMethods.cs
- CacheVirtualItemsEvent.cs
- DesignerAttribute.cs
- TimeZoneNotFoundException.cs
- NativeMethods.cs
- AssemblyAttributes.cs
- KeyInstance.cs
- ThousandthOfEmRealPoints.cs
- SqlInfoMessageEvent.cs
- Geometry.cs
- Tuple.cs
- ImageSourceConverter.cs
- StyleXamlParser.cs
- Hash.cs
- ComEventsMethod.cs
- DataSourceHelper.cs
- SelectionProviderWrapper.cs
- EventRouteFactory.cs
- AutomationProperty.cs
- InkPresenter.cs
- AspNetHostingPermission.cs
- Authorization.cs
- FormViewCommandEventArgs.cs
- StoryFragments.cs
- SafeSystemMetrics.cs
- BlurEffect.cs
- RefreshPropertiesAttribute.cs
- DataTableMappingCollection.cs
- PathData.cs
- Debug.cs
- WaitHandle.cs
- BookmarkUndoUnit.cs
- LineUtil.cs
- DataGridViewEditingControlShowingEventArgs.cs
- SamlSubject.cs
- NullableDoubleMinMaxAggregationOperator.cs
- DesignerActionKeyboardBehavior.cs
- ForwardPositionQuery.cs
- EmbeddedMailObjectsCollection.cs
- Button.cs
- ChangePassword.cs
- TreeNodeCollectionEditor.cs
- PDBReader.cs
- PointCollectionConverter.cs
- SqlParameterCollection.cs
- Odbc32.cs
- GenericsInstances.cs
- PersonalizationDictionary.cs
- ApplicationDirectoryMembershipCondition.cs
- DataSysAttribute.cs
- GenericTypeParameterBuilder.cs
- CompilationUnit.cs
- SmiEventSink.cs
- ImageClickEventArgs.cs
- SafePEFileHandle.cs
- SettingsAttributeDictionary.cs
- ImageListUtils.cs
- DataSourceCacheDurationConverter.cs
- HtmlInputHidden.cs
- XmlDataCollection.cs
- AppSettingsReader.cs
- VersionConverter.cs