Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Framework / System / Windows / Controls / Primitives / StatusBar.cs / 1 / 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 { if (_cacheSeparatorStyle == null) { _cacheSeparatorStyle = new SystemThemeKey(SystemResourceKeyID.StatusBarSeparatorStyle); } return _cacheSeparatorStyle; } } private static SystemThemeKey _cacheSeparatorStyle; #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 { if (_cacheSeparatorStyle == null) { _cacheSeparatorStyle = new SystemThemeKey(SystemResourceKeyID.StatusBarSeparatorStyle); } return _cacheSeparatorStyle; } } private static SystemThemeKey _cacheSeparatorStyle; #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
- QueueProcessor.cs
- FontCacheUtil.cs
- Exceptions.cs
- OutputWindow.cs
- DataGridViewSelectedRowCollection.cs
- KeySplineConverter.cs
- BinaryConverter.cs
- Marshal.cs
- BulletedList.cs
- MultilineStringConverter.cs
- X509SecurityToken.cs
- IIS7UserPrincipal.cs
- Storyboard.cs
- RegexParser.cs
- IPipelineRuntime.cs
- OutputScopeManager.cs
- ExtendedPropertyDescriptor.cs
- WebPartMenuStyle.cs
- DateTime.cs
- RelationalExpressions.cs
- WindowsSidIdentity.cs
- CatalogZoneBase.cs
- DesignSurfaceEvent.cs
- Timer.cs
- HelpInfo.cs
- FastPropertyAccessor.cs
- DataGridViewCheckBoxCell.cs
- PrintDialog.cs
- StylusDevice.cs
- DelegatedStream.cs
- HttpListenerContext.cs
- SiteMapDataSource.cs
- MouseWheelEventArgs.cs
- DataServiceRequest.cs
- CssTextWriter.cs
- SQLStringStorage.cs
- smtpconnection.cs
- unsafenativemethodsother.cs
- RealProxy.cs
- ExpressionNode.cs
- Viewport2DVisual3D.cs
- DrawingBrush.cs
- LayoutTable.cs
- HttpHandlerAction.cs
- DateTimeOffset.cs
- ListItemCollection.cs
- ScriptControlManager.cs
- SqlSelectStatement.cs
- VisualStyleInformation.cs
- HeaderPanel.cs
- IInstanceContextProvider.cs
- EncryptedPackage.cs
- ActionFrame.cs
- SQLRoleProvider.cs
- SafeViewOfFileHandle.cs
- BeginStoryboard.cs
- HttpFormatExtensions.cs
- View.cs
- DependencyObject.cs
- RuleProcessor.cs
- DependencyObject.cs
- ConfigXmlCDataSection.cs
- TextRunTypographyProperties.cs
- Visual3D.cs
- OleCmdHelper.cs
- CurrencyWrapper.cs
- XmlSchemaType.cs
- xmlfixedPageInfo.cs
- ToolStripOverflow.cs
- Int32CollectionConverter.cs
- DictionaryBase.cs
- EventArgs.cs
- SQLMembershipProvider.cs
- ResXResourceWriter.cs
- SocketPermission.cs
- COM2IPerPropertyBrowsingHandler.cs
- PageParserFilter.cs
- ConfigurationElementCollection.cs
- EasingKeyFrames.cs
- DependencyPropertyHelper.cs
- QilSortKey.cs
- DateTimeParse.cs
- DeviceSpecificDesigner.cs
- _AutoWebProxyScriptWrapper.cs
- CodeCommentStatement.cs
- EncryptedReference.cs
- NonDualMessageSecurityOverHttpElement.cs
- ByteAnimationBase.cs
- IntegerValidatorAttribute.cs
- SBCSCodePageEncoding.cs
- HttpPostedFile.cs
- BindingOperations.cs
- TextTreeObjectNode.cs
- VideoDrawing.cs
- ModelTreeManager.cs
- ImageAnimator.cs
- RIPEMD160.cs
- PathFigureCollectionConverter.cs
- PriorityItem.cs
- ApplicationProxyInternal.cs