Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / Primitives / StatusBar.cs / 1305600 / StatusBar.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.Windows.Automation.Peers; using System.Windows.Media; using System.Windows.Threading; using MS.Internal.KnownBoxes; namespace System.Windows.Controls.Primitives { ////// StatusBar is a visual indicator of the operational status of an application and/or /// its components running in a window. StatusBar control consists of a series of zones /// on a band that can display text, graphics, or other rich content. The control can /// group items within these zones to emphasize relational similarities or functional /// connections. The StatusBar can accommodate multiple sets of UI or functionality that /// can be chosen even within the same application. /// [StyleTypedProperty(Property = "ItemContainerStyle", StyleTargetType = typeof(StatusBarItem))] public class StatusBar : ItemsControl { //------------------------------------------------------------------- // // Constructors // //------------------------------------------------------------------- #region Constructors static StatusBar() { DefaultStyleKeyProperty.OverrideMetadata(typeof(StatusBar), new FrameworkPropertyMetadata(typeof(StatusBar))); _dType = DependencyObjectType.FromSystemTypeInternal(typeof(StatusBar)); IsTabStopProperty.OverrideMetadata(typeof(StatusBar), new FrameworkPropertyMetadata(BooleanBoxes.FalseBox)); ItemsPanelTemplate template = new ItemsPanelTemplate(new FrameworkElementFactory(typeof(DockPanel))); template.Seal(); ItemsPanelProperty.OverrideMetadata(typeof(StatusBar), new FrameworkPropertyMetadata(template)); } #endregion //-------------------------------------------------------------------- // // Protected Methods // //------------------------------------------------------------------- #region Protected Methods ////// Return true if the item is (or is eligible to be) its own ItemUI /// protected override bool IsItemItsOwnContainerOverride(object item) { return (item is StatusBarItem) || (item is Separator); } ////// Create or identify the element used to display the given item /// protected override DependencyObject GetContainerForItemOverride() { return new StatusBarItem(); } ////// Prepare the element to display the item. This may involve /// applying styles, setting bindings, etc. /// protected override void PrepareContainerForItemOverride(DependencyObject element, object item) { base.PrepareContainerForItemOverride(element, item); Separator separator = element as Separator; if (separator != null) { bool hasModifiers; BaseValueSourceInternal vs = separator.GetValueSource(StyleProperty, null, out hasModifiers); if (vs <= BaseValueSourceInternal.ImplicitReference) separator.SetResourceReference(StyleProperty, SeparatorStyleKey); separator.DefaultStyleKey = SeparatorStyleKey; } } ////// Determine whether the ItemContainerStyle/StyleSelector should apply to the container /// ///false if item is a Separator, otherwise return true protected override bool ShouldApplyItemContainerStyle(DependencyObject container, object item) { if (item is Separator) { return false; } else { return base.ShouldApplyItemContainerStyle(container, item); } } #endregion #region Accessibility ////// Creates AutomationPeer ( protected override AutomationPeer OnCreateAutomationPeer() { return new StatusBarAutomationPeer(this); } #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 #region ItemsStyleKey ///) /// /// Resource Key for the SeparatorStyle /// public static ResourceKey SeparatorStyleKey { get { return SystemResourceKey.StatusBarSeparatorStyleKey; } } #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; using System.Windows.Automation.Peers; using System.Windows.Media; using System.Windows.Threading; using MS.Internal.KnownBoxes; namespace System.Windows.Controls.Primitives { ////// StatusBar is a visual indicator of the operational status of an application and/or /// its components running in a window. StatusBar control consists of a series of zones /// on a band that can display text, graphics, or other rich content. The control can /// group items within these zones to emphasize relational similarities or functional /// connections. The StatusBar can accommodate multiple sets of UI or functionality that /// can be chosen even within the same application. /// [StyleTypedProperty(Property = "ItemContainerStyle", StyleTargetType = typeof(StatusBarItem))] public class StatusBar : ItemsControl { //------------------------------------------------------------------- // // Constructors // //------------------------------------------------------------------- #region Constructors static StatusBar() { DefaultStyleKeyProperty.OverrideMetadata(typeof(StatusBar), new FrameworkPropertyMetadata(typeof(StatusBar))); _dType = DependencyObjectType.FromSystemTypeInternal(typeof(StatusBar)); IsTabStopProperty.OverrideMetadata(typeof(StatusBar), new FrameworkPropertyMetadata(BooleanBoxes.FalseBox)); ItemsPanelTemplate template = new ItemsPanelTemplate(new FrameworkElementFactory(typeof(DockPanel))); template.Seal(); ItemsPanelProperty.OverrideMetadata(typeof(StatusBar), new FrameworkPropertyMetadata(template)); } #endregion //-------------------------------------------------------------------- // // Protected Methods // //------------------------------------------------------------------- #region Protected Methods ////// Return true if the item is (or is eligible to be) its own ItemUI /// protected override bool IsItemItsOwnContainerOverride(object item) { return (item is StatusBarItem) || (item is Separator); } ////// Create or identify the element used to display the given item /// protected override DependencyObject GetContainerForItemOverride() { return new StatusBarItem(); } ////// Prepare the element to display the item. This may involve /// applying styles, setting bindings, etc. /// protected override void PrepareContainerForItemOverride(DependencyObject element, object item) { base.PrepareContainerForItemOverride(element, item); Separator separator = element as Separator; if (separator != null) { bool hasModifiers; BaseValueSourceInternal vs = separator.GetValueSource(StyleProperty, null, out hasModifiers); if (vs <= BaseValueSourceInternal.ImplicitReference) separator.SetResourceReference(StyleProperty, SeparatorStyleKey); separator.DefaultStyleKey = SeparatorStyleKey; } } ////// Determine whether the ItemContainerStyle/StyleSelector should apply to the container /// ///false if item is a Separator, otherwise return true protected override bool ShouldApplyItemContainerStyle(DependencyObject container, object item) { if (item is Separator) { return false; } else { return base.ShouldApplyItemContainerStyle(container, item); } } #endregion #region Accessibility ////// Creates AutomationPeer ( protected override AutomationPeer OnCreateAutomationPeer() { return new StatusBarAutomationPeer(this); } #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 #region ItemsStyleKey ///) /// /// Resource Key for the SeparatorStyle /// public static ResourceKey SeparatorStyleKey { get { return SystemResourceKey.StatusBarSeparatorStyleKey; } } #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
- QilName.cs
- ElementNotEnabledException.cs
- StorageAssociationTypeMapping.cs
- TreeViewImageIndexConverter.cs
- Pkcs7Signer.cs
- CompiledIdentityConstraint.cs
- NullableFloatSumAggregationOperator.cs
- XmlComplianceUtil.cs
- SiteMapProvider.cs
- CompiledAction.cs
- DesignerCommandAdapter.cs
- PeerInputChannelListener.cs
- CompositeTypefaceMetrics.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- WithStatement.cs
- StringResourceManager.cs
- JsonWriterDelegator.cs
- XmlUnspecifiedAttribute.cs
- StateWorkerRequest.cs
- ADRoleFactory.cs
- NamedPermissionSet.cs
- InsufficientExecutionStackException.cs
- ExpandSegment.cs
- IgnorePropertiesAttribute.cs
- ApplyTemplatesAction.cs
- ResetableIterator.cs
- FlowThrottle.cs
- XmlHierarchyData.cs
- TileModeValidation.cs
- WhileDesigner.cs
- Stacktrace.cs
- PersonalizationEntry.cs
- OleCmdHelper.cs
- SqlClientFactory.cs
- CodeParameterDeclarationExpression.cs
- FileStream.cs
- DecoderNLS.cs
- MarkedHighlightComponent.cs
- JoinElimination.cs
- XPathNavigatorReader.cs
- MonthChangedEventArgs.cs
- PointAnimationUsingKeyFrames.cs
- SimpleTypeResolver.cs
- OperationAbortedException.cs
- Panel.cs
- TableStyle.cs
- XPathSelfQuery.cs
- SystemDropShadowChrome.cs
- TraceContextEventArgs.cs
- _SingleItemRequestCache.cs
- Stackframe.cs
- IndexedString.cs
- FixedPageProcessor.cs
- PositiveTimeSpanValidatorAttribute.cs
- SimpleMailWebEventProvider.cs
- PageParser.cs
- CodeLinePragma.cs
- RadioButtonList.cs
- HtmlContainerControl.cs
- NotFiniteNumberException.cs
- SqlDataRecord.cs
- TrackingQuery.cs
- TrackingDataItem.cs
- TypedReference.cs
- SmiEventSink_DeferedProcessing.cs
- TextClipboardData.cs
- MultiByteCodec.cs
- GenericWebPart.cs
- MeshGeometry3D.cs
- StateBag.cs
- InstancePersistenceCommandException.cs
- Aggregates.cs
- SystemParameters.cs
- configsystem.cs
- _SecureChannel.cs
- WebPartMovingEventArgs.cs
- BamlTreeMap.cs
- PauseStoryboard.cs
- StreamedFramingRequestChannel.cs
- Thread.cs
- SystemColors.cs
- WebPartTracker.cs
- ToolStripCollectionEditor.cs
- TextModifier.cs
- HtmlTitle.cs
- DesignerVerb.cs
- CounterSet.cs
- Types.cs
- DataGridView.cs
- ColorAnimationBase.cs
- WmlImageAdapter.cs
- SqlUDTStorage.cs
- DescendentsWalkerBase.cs
- CoTaskMemHandle.cs
- Stroke2.cs
- CodeDomComponentSerializationService.cs
- CopyEncoder.cs
- JumpPath.cs
- SamlAuthorizationDecisionStatement.cs
- Activator.cs