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
- Int32RectValueSerializer.cs
- MenuRendererStandards.cs
- Oid.cs
- CollectionBase.cs
- SimpleTextLine.cs
- CompilerLocalReference.cs
- QuaternionKeyFrameCollection.cs
- WebHttpBindingElement.cs
- SingleConverter.cs
- AttachmentCollection.cs
- CopyNodeSetAction.cs
- BamlBinaryReader.cs
- InvalidStoreProtectionKeyException.cs
- SynchronizedDispatch.cs
- DetailsViewInsertedEventArgs.cs
- ProfileProvider.cs
- WebPartAddingEventArgs.cs
- FixedSOMPage.cs
- CompositeTypefaceMetrics.cs
- GridViewColumnHeader.cs
- DeploymentExceptionMapper.cs
- BooleanConverter.cs
- MailBnfHelper.cs
- DataServiceSaveChangesEventArgs.cs
- DataTemplateSelector.cs
- ContractNamespaceAttribute.cs
- DynamicDataManager.cs
- SoapExtensionTypeElement.cs
- WebHttpBehavior.cs
- DataGridLength.cs
- DrawingGroup.cs
- SortedList.cs
- MenuItemStyleCollectionEditor.cs
- SqlProviderServices.cs
- AnnotationComponentManager.cs
- DefaultBindingPropertyAttribute.cs
- MergablePropertyAttribute.cs
- CheckedPointers.cs
- InputScopeManager.cs
- IdentityReference.cs
- RootDesignerSerializerAttribute.cs
- ToolboxDataAttribute.cs
- Hyperlink.cs
- AtomParser.cs
- FacetChecker.cs
- SerializableAuthorizationContext.cs
- BitSet.cs
- GradientBrush.cs
- StateDesigner.CommentLayoutGlyph.cs
- TextViewElement.cs
- DecimalFormatter.cs
- BindingsSection.cs
- NumericUpDownAccelerationCollection.cs
- XPathExpr.cs
- LayoutTable.cs
- DbParameterCollectionHelper.cs
- TabItemWrapperAutomationPeer.cs
- Utils.cs
- SweepDirectionValidation.cs
- BindingManagerDataErrorEventArgs.cs
- ExpressionEditorAttribute.cs
- GregorianCalendar.cs
- WebSysDescriptionAttribute.cs
- AddInDeploymentState.cs
- NamespaceQuery.cs
- WindowsNonControl.cs
- DataColumnPropertyDescriptor.cs
- ImageBrush.cs
- InkCanvasSelectionAdorner.cs
- Unit.cs
- BinHexEncoding.cs
- externdll.cs
- CodeDomSerializationProvider.cs
- CodeMemberProperty.cs
- Calendar.cs
- DataChangedEventManager.cs
- DbDataSourceEnumerator.cs
- RelOps.cs
- x509store.cs
- WithParamAction.cs
- Task.cs
- DesignerRegionCollection.cs
- UserPreferenceChangedEventArgs.cs
- Cell.cs
- WorkflowRuntimeServiceElementCollection.cs
- SqlFlattener.cs
- SqlStream.cs
- EventItfInfo.cs
- Pipe.cs
- ByValueEqualityComparer.cs
- LicenseManager.cs
- AssemblyCache.cs
- Bitmap.cs
- CompareValidator.cs
- UserPreferenceChangingEventArgs.cs
- MatrixUtil.cs
- Util.cs
- MimeMultiPart.cs
- Int16AnimationBase.cs
- Section.cs