MahApps.Metro
Helper class for a common focusing problem.
The focus itself isn't the problem. If we use the common focusing methods the control get the focus
but it doesn't get the focus visual style.
The KeyboardNavigation class handles the visual style only if the control get the focus from a keyboard
device or if the SystemParameters.KeyboardCues is true.
Gets the KeyboardNavigationEx singleton instance.
Shows the focus visual of the current focused UI element.
Works only together with AlwaysShowFocusVisual property.
Focuses the specified element and shows the focus visual style.
The element which will be focused.
Attached DependencyProperty for setting AlwaysShowFocusVisual for a UI element.
Gets a the value which indicates if the UI element always show the focus visual style.
Sets a the value which indicates if the UI element always show the focus visual style.
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
With this class we can make custom window styles.
Add and remove a native WindowStyle from the HWND.
The styles to be removed. These can be bitwise combined.
The styles to be added. These can be bitwise combined.
Whether the styles of the HWND were modified as a result of this call.
Critical : Calls critical methods
Updates all glow windows (visible, hidden, collapsed)
Sets the opacity to all glow windows
Starts the opacity storyboard 0 -> 1
Shows all glow windows
Gets or sets the bindable Password property on the PasswordBox control. This is a dependency property.
Handles changes to the 'Password' attached property.
Handle the 'PasswordChanged'-event on the PasswordBox
Called after the behavior is attached to an AssociatedObject.
Override this to hook up functionality to the AssociatedObject.
Called when the behavior is being detached from its AssociatedObject, but before it has actually occurred.
Override this to unhook functionality from the AssociatedObject.
Sets the first TabItem with Visibility="" as
the SelectedItem of the TabControl.
If there is no visible TabItem, null is set as the SelectedItem
Represents a border whose contents are clipped within the bounds
of the border. The border may have rounded corners.
BorderThickness Dependency Property
Gets or sets the BorderThickness property. This dependency property
indicates the BorderThickness.
Checks if the given Thickness is valid or not
Thickness
Padding Dependency Property
Gets or sets the Padding property. This dependency property
indicates the Padding.
CornerRadius Dependency Property
Gets or sets the CornerRadius property. This dependency property
indicates the CornerRadius of the border.
Checks if the given CornerRadius is valid or not
CornerRadius
BorderBrush Dependency Property
Gets or sets the BorderBrush property. This dependency property
indicates the BorderBrush with which the Border is drawn.
Background Dependency Property
Gets or sets the Background property. This dependency property
indicates the Background with which the Background is drawn.
OptimizeClipRendering Dependency Property
Gets or sets the OptimizeClipRendering property. This dependency property
indicates whether the rendering of the clip should be optimized. When set to true,
In order to optimize the rendering of the clipped Child,
the background is rendered with the same brush as the border. Any other brush set for
the background will be ignored. The Child will be rendered on top of it.
This is done to prevent any gaps between the border the the clipped Child (this is
evidently visible if both the Border and the Child are of same color).
This works best when the Child does not have any level of transparency and is opaque.
Updates DesiredSize of the ClipBorder. Called by parent UIElement. This is the first pass of layout.
Border determines its desired size it needs from the specified border the child: its sizing
properties, margin, and requested size.
Constraint size is an "upper limit" that the return value should not exceed.
The Decorator's desired size.
ClipBorder computes the position of its single child and applies its child's alignments to the child.
The size reserved for this element by the parent
The actual ink area of the element, typically the same as finalSize
Here the ClipBorder's Child, Border and Background are rendered.
Drawing Context
Generates a StreamGeometry.
An already opened StreamGeometryContext.
Rectangle for geomentry conversion.
The core points of the border which needs to be used to create
the geometry
Result geometry.
Encapsulates the details of each of the core points of the border which is calculated
based on the given CornerRadius, BorderThickness, Padding and a flag to indicate whether
the inner or outer border is to be calculated.
CornerRadius
BorderThickness
Padding
Flag to indicate whether outer or inner border needs
to be calculated
A few very useful extension methods
Returns whether or not two doubles are "close".
The first double to compare.
The second double to compare.
bool - the result of the AreClose comparision.
Returns whether or not the first double is less than the second double.
The first double to compare.
The second double to compare.
bool - the result of the LessThan comparision.
Returns whether or not the first double is greater than the second double.
The first double to compare.
The second double to compare.
bool - the result of the GreaterThan comparision.
Returns whether or not the double is "close" to 1. Same as AreClose(double, 1),
but this is faster.
The double to compare to 1.
bool - the result of the AreClose comparision.
IsZero - Returns whether or not the double is "close" to 0. Same as AreClose(double, 0),
but this is faster.
The double to compare to 0.
bool - the result of the AreClose comparision.
Compares two points for fuzzy equality. This function
helps compensate for the fact that double values can
acquire error when operated upon
The first point to compare
The second point to compare
Whether or not the two points are equal
Compares two Size instances for fuzzy equality. This function
helps compensate for the fact that double values can
acquire error when operated upon
The first size to compare
The second size to compare
Whether or not the two Size instances are equal
Compares two Vector instances for fuzzy equality. This function
helps compensate for the fact that double values can
acquire error when operated upon
The first Vector to compare
The second Vector to compare
Whether or not the two Vector instances are equal
Compares two rectangles for fuzzy equality. This function
helps compensate for the fact that double values can
acquire error when operated upon
The first rectangle to compare
The second rectangle to compare
Whether or not the two rectangles are equal
Faster check for NaN ( faster than double.IsNaN() )
IEEE 754 : If the argument is any value in the range 0x7ff0000000000001L through 0x7fffffffffffffffL
or in the range 0xfff0000000000001L through 0xffffffffffffffffL, the result will be NaN.
Value to check
Rounds the given value based on the DPI scale
Value to round
DPI Scale
Verifies if this Thickness contains only valid values
The set of validity checks is passed as parameters.
Thickness value
allows negative values
allows Double.NaN
allows Double.PositiveInfinity
allows Double.NegativeInfinity
Whether or not the thickness complies to the range specified
Method to add up the left and right size as width, as well as the top and bottom size as height
Thickness
Size
Verifies if the Thickness contains only zero values
Thickness
Size
Verifies if all the values in Thickness are same
Thickness
true if yes, otherwise false
Verifies if this CornerRadius contains only valid values
The set of validity checks is passed as parameters.
CornerRadius value
allows negative values
allows Double.NaN
allows Double.PositiveInfinity
allows Double.NegativeInfinity
Whether or not the CornerRadius complies to the range specified
Verifies if the CornerRadius contains only zero values
CornerRadius
Size
Verifies if the CornerRadius contains same values
CornerRadius
true if yes, otherwise false
Deflates rectangle by given thickness
Rectangle
Thickness
Deflated Rectangle
Inflates rectangle by given thickness
Rectangle
Thickness
Inflated Rectangle
Verifies if the given brush is a SolidColorBrush and
its color does not include transparency.
Brush
true if yes, otherwise false
Verifies if the given brush is the same as the otherBrush.
Brush
Brush
true if yes, otherwise false
Defines the method that determines whether the command can execute in its current state.
true if this command can be executed; otherwise, false.
Data used by the command. If the command does not require data to be passed, this object can be set to null.
Defines the method to be called when the command is invoked.
Data used by the command. If the command does not require data to be passed, this object can be set to null.
The DependencyProperty for the CharacterCasing property.
Controls whether or not content is converted to upper or lower case
Default Value: CharacterCasing.Normal
Character casing of the Content
The DependencyProperty for the RecognizesAccessKey property.
Default Value: false
Determine if the inner ContentPresenter should use AccessText in its style
This custom popup is used by the validation error template.
It provides some additional nice features:
- repositioning if host-window size or location changed
- repositioning if host-window gets maximized and vice versa
- it's only topmost if the host-window is activated
Gets/sets if the popup can be closed by left mouse button down.
Called when a cell has just switched to edit mode.
A reference to element returned by GenerateEditingElement.
The event args of the input event that caused the cell to go into edit mode. May be null.
The unedited value of the cell.
Synchronizes the column property. Taken from Helper code for DataGrid.
Taken from Helper code for DataGrid.
The DependencyProperty for the FontFamily property.
Default Value: SystemFonts.MessageFontFamily
The font family of the desired font.
The DependencyProperty for the FontSize property.
Default Value: SystemFonts.MessageFontSize
The size of the desired font.
The DependencyProperty for the FontStyle property.
Default Value: SystemFonts.MessageFontStyle
The style of the desired font.
The DependencyProperty for the FontWeight property.
Default Value: SystemFonts.MessageFontWeight
The weight or thickness of the desired font.
The DependencyProperty for the Foreground property.
Default Value: SystemColors.ControlTextBrush
An brush that describes the foreground color. This overrides the cell foreground inherited color.
Method used as property changed callback for properties which need RefreshCellContent to be called
The base class for dialogs.
You probably don't want to use this class, if you want to add arbitrary content to your dialog,
use the class.
Gets/sets the dialog's title.
Gets/sets arbitrary content on top of the dialog.
Gets/sets arbitrary content below the dialog.
Gets or sets the size of the dialog title font.
The size of the dialog title font.
Gets or sets the size of the dialog message font.
The size of the dialog message font.
Initializes a new MahApps.Metro.Controls.BaseMetroDialog.
The window that is the parent of the dialog.
The settings for the message dialog.
Initializes a new MahApps.Metro.Controls.BaseMetroDialog.
With this method it's possible to return your own settings in a custom dialog.
This is called in the loaded event.
Waits for the dialog to become ready for interaction.
A task that represents the operation and it's status.
Requests an externally shown Dialog to close. Will throw an exception if the Dialog is inside of a MetroWindow.
A last chance virtual method for stopping an external dialog from closing.
Gets the window that owns the current Dialog IF AND ONLY IF the dialog is shown externally.
Gets the window that owns the current Dialog IF AND ONLY IF the dialog is shown inside of a window.
Waits until this dialog gets unloaded.
A class that represents the settings used by Metro Dialogs.
Gets/sets the text used for the Affirmative button. For example: "OK" or "Yes".
Gets/sets the text used for the Negative button. For example: "Cancel" or "No".
Gets/sets whether the metro dialog should use the default black/white appearance (theme) or try to use the current accent.
Enable/disable dialog showing animation.
"True" - play showing animation.
"False" - skip showing animation.
Enable/disable dialog hiding animation
"True" - play hiding animation.
"False" - skip hiding animation.
Gets/sets the default text( just the inputdialog needed)
Gets/sets the maximum height. (Default is unlimited height, Double.NaN)
Gets or sets which button should be focused by default
Gets/sets the token to cancel the dialog.
Gets/sets a custom resource dictionary which can contains custom styles, brushes or something else.
If set, stops standard resource dictionaries being applied to the dialog.
Gets or sets the size of the dialog title font.
The size of the dialog title font.
Gets or sets the size of the dialog message font.
The size of the dialog message font.
An enum representing the different choices for a color scheme in a Metro Dialog.
An implementation of BaseMetroDialog allowing arbitrary content.
Gets the default instance if the dialog coordinator, which can be injected into a view model.
Creates a LoginDialog inside of the current window.
The window that is the parent of the dialog.
The title of the LoginDialog.
The message contained within the LoginDialog.
Optional settings that override the global metro dialog settings.
The text that was entered or null (Nothing in Visual Basic) if the user cancelled the operation.
Creates a InputDialog inside of the current window.
The MetroWindow
The title of the MessageDialog.
The message contained within the MessageDialog.
Optional settings that override the global metro dialog settings.
The text that was entered or null (Nothing in Visual Basic) if the user cancelled the operation.
Creates a MessageDialog inside of the current window.
The MetroWindow
The title of the MessageDialog.
The message contained within the MessageDialog.
The type of buttons to use.
Optional settings that override the global metro dialog settings.
A task promising the result of which button was pressed.
Creates a ProgressDialog inside of the current window.
The MetroWindow
The title of the ProgressDialog.
The message within the ProgressDialog.
Determines if the cancel button is visible.
Optional Settings that override the global metro dialog settings.
A task promising the instance of ProgressDialogController for this operation.
Adds a Metro Dialog instance to the specified window and makes it visible asynchronously.
If you want to wait until the user has closed the dialog, use
You have to close the resulting dialog yourself with .
The owning window of the dialog.
The dialog instance itself.
An optional pre-defined settings instance.
A task representing the operation.
The is already visible in the window.
Adds a Metro Dialog instance of the given type to the specified window and makes it visible asynchronously.
If you want to wait until the user has closed the dialog, use
You have to close the resulting dialog yourself with .
The owning window of the dialog.
An optional pre-defined settings instance.
A task with the dialog representing the operation.
Hides a visible Metro Dialog instance.
The window with the dialog that is visible.
The dialog instance to hide.
An optional pre-defined settings instance.
A task representing the operation.
The is not visible in the window.
This happens if hasn't been called before.
Gets the current shown dialog in async way.
The dialog owner.
Creates a LoginDialog outside of the current window.
The window that is the parent of the dialog.
The title of the LoginDialog.
The message contained within the LoginDialog.
Optional settings that override the global metro dialog settings.
The text that was entered or null (Nothing in Visual Basic) if the user cancelled the operation.
Creates a InputDialog outside of the current window.
The MetroWindow
The title of the MessageDialog.
The message contained within the MessageDialog.
Optional settings that override the global metro dialog settings.
The text that was entered or null (Nothing in Visual Basic) if the user cancelled the operation.
Creates a MessageDialog ouside of the current window.
The MetroWindow
The title of the MessageDialog.
The message contained within the MessageDialog.
The type of buttons to use.
Optional settings that override the global metro dialog settings.
A task promising the result of which button was pressed.
Use the dialog coordinator to help you interfact with dialogs from a view model.
Shows the input dialog.
Typically this should be the view model, which you register in XAML using .
The title of the MessageDialog.
The message contained within the MessageDialog.
Optional settings that override the global metro dialog settings.
The text that was entered or null (Nothing in Visual Basic) if the user cancelled the operation.
Shows the input dialog.
Typically this should be the view model, which you register in XAML using .
The title of the MessageDialog.
The message contained within the MessageDialog.
Optional settings that override the global metro dialog settings.
The text that was entered or null (Nothing in Visual Basic) if the user cancelled the operation.
Creates a LoginDialog inside of the current window.
Typically this should be the view model, which you register in XAML using .
The title of the LoginDialog.
The message contained within the LoginDialog.
Optional settings that override the global metro dialog settings.
The text that was entered or null (Nothing in Visual Basic) if the user cancelled the operation.
Creates a LoginDialog outside of the current window.
Typically this should be the view model, which you register in XAML using .
The title of the LoginDialog.
The message contained within the LoginDialog.
Optional settings that override the global metro dialog settings.
The text that was entered or null (Nothing in Visual Basic) if the user cancelled the operation.
Creates a MessageDialog inside of the current window.
Typically this should be the view model, which you register in XAML using .
The title of the MessageDialog.
The message contained within the MessageDialog.
The type of buttons to use.
Optional settings that override the global metro dialog settings.
A task promising the result of which button was pressed.
Creates a MessageDialog outside of the current window.
Typically this should be the view model, which you register in XAML using .
The title of the MessageDialog.
The message contained within the MessageDialog.
The type of buttons to use.
Optional settings that override the global metro dialog settings.
A task promising the result of which button was pressed.
Creates a ProgressDialog inside of the current window.
Typically this should be the view model, which you register in XAML using .
The title of the ProgressDialog.
The message within the ProgressDialog.
Determines if the cancel button is visible.
Optional Settings that override the global metro dialog settings.
A task promising the instance of ProgressDialogController for this operation.
Adds a Metro Dialog instance to the specified window and makes it visible asynchronously.
You have to close the resulting dialog yourself with .
Typically this should be the view model, which you register in XAML using .
The dialog instance itself.
An optional pre-defined settings instance.
A task representing the operation.
The is already visible in the window.
Hides a visible Metro Dialog instance.
Typically this should be the view model, which you register in XAML using .
The dialog instance to hide.
An optional pre-defined settings instance.
A task representing the operation.
The is not visible in the window.
This happens if hasn't been called before.
Gets the current shown dialog.
Typically this should be the view model, which you register in XAML using .
InputDialog
InitializeComponent
LoginDialog
InitializeComponent
An internal control that represents a message dialog. Please use MetroWindow.ShowMessage instead!
MessageDialog
InitializeComponent
An enum representing the result of a Message Dialog.
An enum representing the different button states for a Message Dialog.
Just "OK"
"OK" and "Cancel"
An internal control that represents a message dialog. Please use MetroWindow.ShowMessage instead!
ProgressDialog
InitializeComponent
A class for manipulating an open ProgressDialog.
This event is raised when the associated was closed programmatically.
This event is raised when the associated was cancelled by the user.
Gets if the Cancel button has been pressed.
Gets if the wrapped ProgressDialog is open.
Sets the ProgressBar's IsIndeterminate to true. To set it to false, call SetProgress.
Sets if the Cancel button is visible.
Sets the dialog's progress bar value and sets IsIndeterminate to false.
The percentage to set as the value.
Gets/Sets the minimum restriction of the progress Value property
Gets/Sets the maximum restriction of the progress Value property
Sets the dialog's message content.
The message to be set.
Sets the dialog's title.
The title to be set.
Begins an operation to close the ProgressDialog.
A task representing the operation.
The DependencyProperty for the ContentTemplate property.
The DependencyProperty for the ContentTemplateSelector property.
The DependencyProperty for the ContentStringFormat property.
Gets or sets the Content of this control..
ContentTemplate is the template used to display the content of the control.
ContentTemplateSelector allows to provide custom logic for choosing the template used to display the content of the control.
This property is ignored if is set.
ContentStringFormat is the format used to display the content of the control as a string
This property is ignored if is set.
Reflects the parameter to pass to the CommandProperty upon execution.
Gets or sets the target element on which to fire the command.
Get or sets the Command property.
Indicates whether the Menu is visible.
Gets or sets an extra tag.
Gets or sets the dimension of children stacking.
Gets or sets the Content used to generate the icon part.
Gets or sets the ContentTemplate used to display the content of the icon part.
Gets/sets the button style.
Gets/sets the menu style.
Gets/sets the brush of the button arrow icon.
Gets/sets the brush of the button arrow icon if the mouse is over the drop down button.
Gets/sets the brush of the button arrow icon if the arrow button is pressed.
Gets/sets the visibility of the button arrow icon.
Invoked when the property changes.
Information about the change.
Executes the specified action asynchronously with the DispatcherPriority.Background on the thread that the Dispatcher was created on.
The dispatcher object where the action runs.
An action that takes no parameters.
The dispatcher priority.
A control that imitate a slideshow with back/forward buttons.
To counteract the double Loaded event issue.
Coerce SelectedIndexProperty's value.
The object that the property exists on.
The new value of the property, prior to any coercion attempt.
The coerced value (with appropriate type).
Computes the transition when changing selected index.
Previous selected index.
New selected index.
Gets the navigation buttons.
Previous button.
Next button.
Inactive buttons.
Applies actions to navigation buttons.
Action applied to the previous button.
Action applied to the next button.
Action applied to the inactive buttons.
Any action is null.
Sets the visibility of navigation buttons.
Visibility of active buttons.
Changes the current slide to the previous item.
Changes the current to the next item.
Brings the control buttons (next/previous) into view.
Removes the control buttons (next/previous) from view.
Gets or sets a value indicating whether the border for mouse over state is enabled or not.
Gets or sets the mouse hover border brush.
Gets or sets the mouse hover border thickness.
Gets/sets the text that is displayed in the FlipView's banner.
Gets/sets whether the FlipView's banner is visible.
Gets or sets a value indicating whether the navigation is circular, so you get the first after last and the last before first.
Gets/sets whether the FlipView's NavigationButton is visible.
A sliding panel control that is hosted in a MetroWindow via a FlyoutsControl.
An event that is raised when IsOpen changes.
An event that is raised when the closing animation has finished.
Gets/sets if the title is visible in this flyout.
Gets/sets if the close button is visible in this flyout.
Gets/sets if the close button is a cancel button in this flyout.
Gets/sets a command which will be executed if the close button was clicked.
Note that this won't execute when is set to false.
Gets/sets the command parameter which will be passed by the CloseCommand.
Gets/sets a command which will be executed if the close button was clicked.
Gets/sets whether this flyout is visible.
Gets/sets whether this flyout uses the open/close animation when changing the property. (default is true)
Gets/sets whether this flyout animates the opacity of the flyout when opening/closing.
Gets/sets whether this flyout stays open when the user clicks outside of it.
Gets/sets the mouse button that closes the flyout on an external mouse click.
Gets/sets whether this flyout is modal.
Gets/sets this flyout's position in the FlyoutsControl/MetroWindow.
Gets or sets the theme of this flyout.
Gets or sets the focused element.
Gets or sets a value indicating whether the flyout should auto close after AutoCloseInterval has passed.
Gets or sets the time in milliseconds when the flyout should auto close.
Gets or sets a value indicating whether the flyout should try focus an element.
A FlyoutsControl is for displaying flyouts in a MetroWindow.
Gets/sets whether is ignored and all flyouts behave as if it was set to the value of this property.
Gets/sets whether is ignored and all flyouts behave as if it was set false.
Adapts the Flyout's theme to the theme of its host window.
Adapts the Flyout's theme to the theme of its host window, but inverted.
This theme can only be applied if the host window's theme abides the "Dark" and "Light" affix convention.
(see for more infos.
The dark theme. This is the default theme.
The flyouts theme will match the host window's accent color.
GlowWindow
InitializeComponent
The HamburgerMenu is based on a SplitView control. By default it contains a HamburgerButton and a ListView to display menu items.
The HamburgerMenu is based on a SplitView control. By default it contains a HamburgerButton and a ListView to display menu items.
The HamburgerMenu is based on a SplitView control. By default it contains a HamburgerButton and a ListView to display menu items.
The HamburgerMenu is based on a SplitView control. By default it contains a HamburgerButton and a ListView to display menu items.
The HamburgerMenu is based on a SplitView control. By default it contains a HamburgerButton and a ListView to display menu items.
Initializes a new instance of the class.
Override default OnApplyTemplate to capture children controls
Event raised when an item is clicked
Event raised when an options' item is clicked
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Gets or sets a template for the hamburger icon.
Identifies the dependency property.
Gets or sets a template for the hamburger icon.
Gets or sets main button's width.
Gets or sets main button's height.
Gets or sets main button's margin.
Gets or sets main button's visibility.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Gets or sets an object source used to generate the content of the options.
Gets or sets the DataTemplate used to display each item in the options.
Gets or sets the DataTemplateSelector used to display each item in the options.
Gets the collection used to generate the content of the option list.
Exception thrown if OptionsListView is not yet defined.
Gets or sets the visibility of the options menu.
Gets or sets the selected options menu item.
Gets or sets the selected options menu index.
Gets or sets a command which will be executed if an options item is clicked by the user.
Gets or sets the command parameter which will be passed by the OptionsItemCommand.
Executes the options item command which can be set by the user.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Gets or sets the width of the pane when it's fully expanded.
Gets or sets a value that specifies whether the pane is shown on the right or left side of the control.
Gets or sets a value that specifies how the pane and content areas are shown.
Gets or sets the width of the pane in its compact display mode.
Gets or sets the Brush to apply to the background of the Pane area of the control.
Gets or sets the Brush to apply to the foreground of the Pane area of the control.
Gets or sets a value indicating whether gets or sets a value that specifies whether the pane is expanded to its full width.
Gets or sets an object source used to generate the content of the menu.
Gets or sets the DataTemplate used to display each item.
Gets or sets the DataTemplateSelector used to display each item.
Gets the collection used to generate the content of the items list.
Exception thrown if ButtonsListView is not yet defined.
Gets or sets the selected menu item.
Gets or sets the selected menu index.
Gets or sets a command which will be executed if an item is clicked by the user.
Gets or sets the command parameter which will be passed by the ItemCommand.
Gets or sets wheather the ScrollBar of the HamburgerMenu is on the left side or on the right side.
Executes the item command which can be set by the user.
The HamburgerMenuGlyphItem provides a glyph based implementation for HamburgerMenu entries.
Identifies the dependency property.
Gets or sets a value that specifies the glyph to use from Segoe MDL2 Assets font.
The HamburgerMenuIconItem provides an icon based implementation for HamburgerMenu entries.
Identifies the dependency property.
Gets or sets a value that specifies an user specific object which can be used as icon.
The HamburgerMenuImageItem provides an image based implementation for HamburgerMenu entries.
Identifies the dependency property.
Gets or sets a value that specifies a bitmap to display with an Image control.
The HamburgerMenuItem provides an implementation for HamburgerMenu entries.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Identifies the dependency property.
Gets or sets a value that specifies label to display.
Gets or sets a value that specifies the page to navigate to (if you use the HamburgerMenu with a Frame content)
Gets or sets a value that specifies an user specific value.
Gets or sets a command which will be executed if an item is clicked by the user.
Gets or sets the command parameter which will be passed by the Command.
Gets or sets the element on which to raise the specified command.
Element on which to raise a command.
Gets or sets a value indicating whether this item is enabled in the user interface (UI). This is a dependency property.
true if the item is enabled; otherwise, false. The default value is true.
Executes the command which can be set by the user.
The HamburgerMenuItemCollection provides typed collection of HamburgerMenuItem.
Represents an hour comparison operation that ensures that 12 is smaller than 1.
This ensures that in the control the first hour that is selectable is 12 (AM/PM).
This ensures that the first hour that is selectable is 12 (AM/PM).
This comparer is used only if in the corresponding the value for is false.
Overrides the text case behavior for certain buttons.
When set to true, the text case will be preserved and won't be changed to upper or lower case.
DependencyProperty for property.
The CornerRadius property allows users to control the roundness of the button corners independently by
setting a radius value for each corner. Radius values that are too large are scaled so that they
smoothly blend from corner to corner. (Can be used e.g. at MetroButton style)
Description taken from original Microsoft description :-D
A helper class that provides various attached properties for the ComboBox control.
Gets the Maximum number of characters the TextBox can accept.
Sets the Maximum number of characters the TextBox can accept.
Gets the Character casing of the TextBox.
Sets the Character casing of the TextBox.
A helper class that provides various controls.
Gets the value to handle the visibility of the DisabledVisualElement in the template.
Sets the value to handle the visibility of the DisabledVisualElement in the template.
The DependencyProperty for the CharacterCasing property.
Controls whether or not content is converted to upper or lower case
Gets the character casing of the control
Sets the character casing of the control
This property can be used to set the button width (PART_ClearText) of TextBox, PasswordBox, ComboBox, NumericUpDown
Sets the brush used to draw the focus border.
Gets the brush used to draw the focus border.
Sets the brush used to draw the mouse over brush.
Gets the brush used to draw the mouse over brush.
DependencyProperty for property.
The CornerRadius property allows users to control the roundness of the button corners independently by
setting a radius value for each corner. Radius values that are too large are scaled so that they
smoothly blend from corner to corner. (Can be used e.g. at MetroButton style)
Description taken from original Microsoft description :-D
Save the DataGrid.
Get the DataGrid.
Gets the value to define the DataGridCell selection behavior.
Sets the value to define the DataGridCell selection behavior.
Gets the value to define the DataGridCell selection behavior.
Sets the value to define the DataGridCell selection behavior.
Gets a value which indicates the preview cell editing is enabled or not.
Sets a value which indicates the preview cell editing is enabled or not.
Gets the value to define the DataGridRow selection behavior.
Sets the value to define the DataGridRow selection behavior.
A helper class that provides various attached properties for the Expander control.
Gets the toggle button style used for the ExpandDirection Up.
Sets the toggle button style used for the ExpandDirection Up.
Gets the toggle button style used for the ExpandDirection Down.
Sets the toggle button style used for the ExpandDirection Down.
Gets the toggle button style used for the ExpandDirection Left.
Sets the toggle button style used for the ExpandDirection Left.
Gets the toggle button style used for the ExpandDirection Right.
Sets the toggle button style used for the ExpandDirection Right.
Change the value of the slider if the user rotates the mouse wheel by the value defined for
Change the value of the slider if the user rotates the mouse wheel by the value defined for
Do not change the value of the slider if the user rotates the mouse wheel.
Change the value of the slider only if the control is focused.
Changes the value of the slider if the mouse pointer is over this element.
This property can be used to set vertical scrollbar left side from the tabpanel (look at MetroAnimatedSingleRowTabControl)
Gets/Sets the type how the value will be changed if the user rotates the mouse wheel.
Gets/Sets the type how the value will be changed if the user rotates the mouse wheel.
Gets/Sets the value when the slider will be changed. Possible values are if the slider is focused or if the mouse is over the slider.
Gets/Sets the value when the slider will be changed. Possible values are if the slider is focused or if the mouse is over the slider.
Specifies the underline position of a TabControl.
Defines whether the underline below the is shown or not.
Defines whether the underline below the or is shown or not.
Defines the underline brush below the or .
Defines the underline brush below the or of an selected item.
Defines the underline brush below the or if the mouse is over an item.
Defines the underline brush below the or if the mouse is over a selected item.
This property can be used to set the Transition for animated TabControls
A helper class that provides various attached properties for the TextBox control.
Password watermarking code from: http://prabu-guru.blogspot.com/2010/06/how-to-add-watermark-text-to-textbox.html
The clear text button behavior property. It sets a click event to the button if the value is true.
This property can be used to set the button width (PART_ClearText) of TextBox, PasswordBox, ComboBox, NumericUpDown
This property can be used to retrieve the watermark using the of bound property.
Setting this property to true will uses reflection.
Indicates if a TextBox or RichTextBox should use SpellCheck context menu
Indicates if the watermark is automatically retrieved by using the of the bound property.
This attached property uses reflection; thus it might reduce the performance of the application.
The auto-watermak does work for the following controls:
In the following case no custom watermark is shown
- There is no binding
- Binding path errors
- Binding to a element of a collection without using a property of that element Binding Path=Collection[0] use: Binding Path=Collection[0].SubProperty
- The bound property does not have a
Gets a value that indicates the horizontal alignment of the watermark.
One of the values that specifies the desired alignment. The default is .
Sets a value that indicates the horizontal alignment of the watermark.
Gets if the attached TextBox has text.
Gets the clear text button visibility / feature. Can be used to enable text deletion.
Sets the clear text button visibility / feature. Can be used to enable text deletion.
Gets the text button visibility.
Sets the text button visibility.
Gets the buttons placement variant.
Sets the buttons placement variant.
Gets the clear text button behavior.
Sets the clear text button behavior.
ButtonContentTemplate is the template used to display the content of the ClearText button.
This property can be used to handle the style for CheckBox and RadioButton
LeftToRight means content left and button right and RightToLeft vise versa
This property can be used to handle the style for CheckBox and RadioButton
LeftToRight means content left and button right and RightToLeft vise versa
A MetroTabControl (Pivot) that wraps TabItem/MetroTabItem headers on a single row.
Initializes a new instance of the MahApps.Metro.Controls.MetroAnimatedSingleRowTabControl class.
A MetroTabControl (Pivot) that uses a TransitioningContentControl to animate the contents of a TabItem/MetroTabItem.
Initializes a new instance of the MahApps.Metro.Controls.MetroAnimatedTabControl class.
Originally from http://xamlcoder.com/blog/2010/11/04/creating-a-metro-ui-style-control/
A reimplementation of NavigationWindow based on MetroWindow.
MetroNavigationWindow
Gets an IEnumerable that you use to enumerate the entries in back navigation history for a NavigationWindow.
Gets an IEnumerable that you use to enumerate the entries in back navigation history for a NavigationWindow.
Gets the NavigationService that is used by this MetroNavigationWindow to provide navigation services to its content.
Gets a value that indicates whether there is at least one entry in back navigation history.
Gets a value that indicates whether there is at least one entry in forward navigation history.
Gets or sets the base uniform resource identifier (URI) of the current context.
Gets or sets the uniform resource identifier (URI) of the current content, or the URI of new content that is currently being navigated to.
Adds an entry to back navigation history that contains a CustomContentState object.
A CustomContentState object that represents application-defined state that is associated with a specific piece of content.
Removes the most recent journal entry from back history.
The most recent JournalEntry in back navigation history, if there is one.
Navigates to the most recent item in back navigation history.
Navigates to the most recent item in forward navigation history.
Navigates asynchronously to content that is contained by an object.
An Object that contains the content to navigate to.
true if a navigation is not canceled; otherwise, false.
Navigates asynchronously to content that is specified by a uniform resource identifier (URI).
A Uri object initialized with the URI for the desired content.
true if a navigation is not canceled; otherwise, false.
Navigates asynchronously to content that is contained by an object, and passes an object that contains data to be used for processing during navigation.
An Object that contains the content to navigate to.
A Object that contains data to be used for processing during navigation.
true if a navigation is not canceled; otherwise, false.
Navigates asynchronously to source content located at a uniform resource identifier (URI), and pass an object that contains data to be used for processing during navigation.
A Uri object initialized with the URI for the desired content.
A Object that contains data to be used for processing during navigation.
true if a navigation is not canceled; otherwise, false.
Stops further downloading of content for the current navigation request.
Occurs when navigation to a content fragment begins, which occurs immediately, if the desired fragment is in the current content, or after the source XAML content has been loaded, if the desired fragment is in different content.
Occurs when a new navigation is requested.
Occurs when an error is raised while navigating to the requested content.
Occurs periodically during a download to provide navigation progress information.
Occurs when the StopLoading method is called, or when a new navigation is requested while a current navigation is in progre
Occurs when the content that is being navigated to has been found, and is available from the PageContent property, although it may not have completed loading
Occurs when content that was navigated to has been loaded, parsed, and has begun rendering.
InitializeComponent
A metrofied ProgressBar.
Gets/sets the diameter of the ellipses used in the indeterminate animation.
Gets/sets the offset of the ellipses used in the indeterminate animation.
A standard MetroTabControl (Pivot).
Initializes a new instance of the MahApps.Metro.Controls.MetroTabControl class.
A base class for every MetroTabControl (Pivot).
Get/sets the command that executes when a MetroTabItem's close button is clicked.
An event that is raised when a TabItem is closed.
Event args that is created when a TabItem is closed.
Gets the MetroTabItem that will be closed.
An extended TabItem with a metro style.
Gets/sets whether the Close Button is visible.
Gets/sets the command that is executed when the Close Button is clicked.
Gets/sets the command that is executed when the Close Button is clicked.
Gets/sets the command parameter which is passed to the close button command.
Gets/sets the Close Button Margin.
The MetroThumbContentControl control can be used for titles or something else and enables basic drag movement functionality.
Adds or remove a DragStartedEvent handler
Adds or remove a DragDeltaEvent handler
Adds or remove a DragCompletedEvent handler
DependencyProperty for the IsDragging property.
Indicates that the left mouse button is pressed and is over the MetroThumbContentControl.
An extended, metrofied Window class.
Allows easy handling of window commands brush. Theme is also applied based on this brush.
Gets/sets whether the window's entrance transition animation is enabled.
Gets/sets the FlyoutsControl that hosts the window's flyouts.
Gets/sets the icon content template to show a custom icon.
Gets/sets the title content template to show a custom title.
Gets/sets the left window commands that hosts the user commands.
Gets/sets the right window commands that hosts the user commands.
Gets/sets the window button commands that hosts the min/max/close commands.
Gets/sets whether the window will ignore (and overlap) the taskbar when maximized.
Gets/sets the brush used for the titlebar's foreground.
Gets/sets whether the window will save it's position between loads.
Gets the window placement settings (can be overwritten).
Get/sets whether the titlebar icon is visible or not.
Get/sets whether dialogs show over the title bar.
Gets/sets edge mode of the titlebar icon.
Gets/sets bitmap scaling mode of the titlebar icon.
Gets/sets icon scaling mode of the titlebar.
Gets/sets whether the TitleBar is visible or not.
Gets/sets whether the WindowStyle is None or not.
Gets/sets if the minimize button is visible.
Gets/sets if the Maximize/Restore button is visible.
Gets/sets if the close button is visible.
Gets/sets if the min button is enabled.
Gets/sets if the max/restore button is enabled.
Gets/sets if the close button is enabled.
Gets/sets if the the system menu should popup on right click.
Gets/sets the TitleBar's height.
Gets/sets if the TitleBar's text is automatically capitalized.
Character casing of the title
Gets/sets the title horizontal alignment.
Gets/sets the brush used for the Window's title bar.
Gets/sets the brush used for the Window's glow.
Gets/sets the brush used for the Window's non-active glow.
Gets/sets the brush used for the Window's non-active border.
Gets/sets the brush used for the Window's non-active title bar.
Gets/sets the brush used for the dialog overlay.
Gets/sets the opacity used for the dialog overlay.
Begins to show the MetroWindow's overlay effect.
A task representing the process.
Begins to hide the MetroWindow's overlay effect.
A task representing the process.
Stores the given element, or the last focused element via FocusManager, for restoring the focus after closing a dialog.
The element which will be focused again.
Clears the stored element which would get the focus after closing a dialog.
Initializes a new instance of the MahApps.Metro.Controls.MetroWindow class.
Gets the template child with the given name.
The interface type inheirted from DependencyObject.
The name of the template child.
Gets the template child with the given name.
The name of the template child.
This class eats little children.
Sets the IsHitTestVisibleInChromeProperty to a MetroWindow template child
The MetroWindow.
The name of the template child.
Sets the WindowChrome ResizeGripDirection to a MetroWindow template child.
The MetroWindow.
The name of the template child.
The direction.
Adapts the WindowCommands to the theme of the first opened, topmost && (top || right || left) flyout
The MetroWindow
All the flyouts! Or flyouts that fall into the category described in the summary.
An optional brush to reset the window commands brush to.
Represents a Windows spin box (also known as an up-down control) that displays numeric values.
Event fired from this NumericUpDown when its value has reached the maximum value
Event fired from this NumericUpDown when its value has reached the minimum value
Gets or sets the amount of time, in milliseconds, the NumericUpDown waits while the up/down button is pressed
before it starts increasing/decreasing the
for the specified . The value must be
non-negative.
Gets or sets a value indicating whether the user can use the arrow keys and to change values.
Gets or sets a value indicating whether the user can use the mouse wheel to change values.
Gets or sets a value indicating whether the control must have the focus in order to change values using the mouse wheel.
If the value is true then the value changes when the mouse wheel is over the control. If the value is false then the value changes only if the control has the focus. If is set to "false" then this property has no effect.
Gets or sets a value indicating whether the user can enter text in the control.
Gets or sets a value indicating the culture to be used in string formatting operations.
Gets or sets a value indicating whether the +/- button of the control is visible.
If the value is false then the of the control can be changed only if one of the following cases is satisfied:
-
is true.
-
is true.
-
is true.
Gets or sets a value indicating whether the text can be changed by the use of the up or down buttons only.
Gets or sets a value indicating whether the value to be added to or subtracted from remains
always
or if it will increase faster after pressing the up/down button/arrow some time.
Gets or sets the formatting for the displaying
Gets or sets the horizontal alignment of the contents of the text box.
Indicates if the NumericUpDown should show the decimal separator or not.
Called when this element or any below gets focus.
When overridden in a derived class, is invoked whenever application code or internal processes call
.
Raises the routed event.
Old value of the property
New value of the property
Based on Greg Schechter's Planerator
http://blogs.msdn.com/b/greg_schechter/archive/2007/10/26/enter-the-planerator-dead-simple-3d-in-wpf-with-a-stupid-name.aspx
An Enum representing different positions, such as Left or Right.
AddValueChanged of dependency property descriptor results in memory leak as you already know.
So, as described here, you can create custom class PropertyChangeNotifier to listen
to any dependency property changes.
This class takes advantage of the fact that bindings use weak references to manage associations
so the class will not root the object who property changes it is watching. It also uses a WeakReference
to maintain a reference to the object whose property it is watching without rooting that object.
In this way, you can maintain a collection of these objects so that you can unhook the property
change later without worrying about that collection rooting the object whose values you are watching.
Complete implementation can be found here: http://agsmith.wordpress.com/2008/04/07/propertydescriptor-addvaluechanged-alternative/
Identifies the dependency property
Returns/sets the value of the property
Event arguments created for the RangeSlider's SelectionChanged event.
The value of the new range's beginning.
The value of the new range's ending.
A slider control with the ability to select a range between two values.
Get/sets value how fast thumbs will move when user press on left/right/central with left mouse button (IsMoveToPoint must be set to FALSE)
Get/sets precision of the value, which displaying inside AutotToolTip
Get/sets the converter for the tooltip text
Get/sets tooltip, which will show while dragging thumbs and display currect value
Get/sets tick placement position
Get/sets IsMoveToPoint feature which will enable/disable moving to exact point inside control when user clicked on it
Get/sets tickFrequency
Get/sets orientation of range slider
Get/sets whether possibility to make manipulations inside range with left/right mouse buttons + cotrol button
Get/sets whether possibility to make manipulations inside range with left/right mouse buttons + cotrol button
Get/sets whether whole range will be moved when press on right/left/central part of control
Get/sets the minimal distance between two thumbs.
Get/sets the beginning of the range selection.
Get/sets the end of the range selection.
Get/sets the minimum range that can be selected.
Responds to a change in the value of the property.
The old value of the property.The new value of the property.
Responds to a change in the value of the property.
The old value of the property.The new value of the property.
RevealImage
InitializeComponent
Reflects the parameter to pass to the CommandProperty upon execution.
Gets or sets the target element on which to fire the command.
Get or sets the Command property.
Indicates whether the Popup is visible.
Gets or sets an extra tag.
Gets or sets the dimension of children stacking.
Gets or sets the Content used to generate the icon part.
Gets or sets the ContentTemplate used to display the content of the icon part.
Gets/sets the button style.
Gets/sets the button arrow style.
Gets/sets the popup listbox style.
Gets/sets the brush of the button arrow icon.
Gets/sets the brush of the button arrow icon if the mouse is over the split button.
Gets/sets the brush of the button arrow icon if the arrow button is pressed.
Updates the current selection when an item in the has changed
The event data.
A special animation used to animates the length of a .
Represents a container with two views; one view for the main content and another view that is typically used for
navigation commands.
Identifies the dependency property.
The identifier for the property.
Gets or sets the width of the pane in its compact display mode.
The width of the pane in it's compact display mode. The default is 48 device-independent pixel (DIP) (defined
by the SplitViewCompactPaneThemeLength resource).
Identifies the dependency property.
The identifier for the dependency property.
Gets or sets the contents of the main panel of a .
The contents of the main panel of a . The default is null.
Identifies the dependency property.
The identifier for the dependency property.
Gets of sets a value that specifies how the pane and content areas of a are shown.
A value of the enumeration that specifies how the pane and content areas of a are
shown. The default is .
Identifies the dependency property.
The identifier for the dependency property.
Gets or sets a value that specifies whether the pane is expanded to its full width.
true if the pane is expanded to its full width; otherwise, false. The default is true.
Identifies the dependency property.
The identifier for the dependency property.
Gets or sets the width of the pane when it's fully expanded.
The width of the pane when it's fully expanded. The default is 320 device-independent
pixel (DIP).
Identifies the dependency property.
The identifier for the dependency property.
Gets or sets the contents of the pane of a .
The contents of the pane of a . The default is null.
Identifies the dependency property.
The identifier for the dependency property.
Gets or sets the Brush to apply to the background of the area of the control.
The Brush to apply to the background of the area of the control.
Identifies the dependency property.
The identifier for the dependency property.
Gets or sets the Brush to apply to the foreground of the area of the control.
The Brush to apply to the background of the area of the control.
Identifies the PanePlacement dependency property.
The identifier for the PanePlacement dependency property.
Gets or sets a value that specifies whether the pane is shown on the right or left side of the
.
A value of the enumeration that specifies whether the pane is shown on the right or left side of the
. The default is .
Identifies the dependency property.
The identifier for the dependency property.
Gets an object that provides calculated values that can be referenced as TemplateBinding sources when defining
templates for a control.
An object that provides calculated values for templates.
Initializes a new instance of the class.
Occurs when the pane is closed.
Occurs when the pane is closing.
Constants that specify how the pane is shown in a .
The pane covers the content when it's open and does not take up space in the control layout.
The pane is shown side-by-side with the content and takes up space in the control layout.
The amount of the pane defined by the property is shown side-by-side
with the content and takes up space in the control layout.
The remaining part of the pane covers the content when it's open and does not take up space in the control layout.
The amount of the pane defined by the property is shown side-by-side
with the content and takes up space in the control layout.
The remaining part of the pane pushes the content to the side when it's open and takes up space in the control
layout.
Provides event data for the event.
Gets or sets a value that indicates whether the pane closing action should be canceled.
true to cancel the pane closing action; otherwise, false.
Constants that specify whether the pane is set to the left or to the right of the content in a
.
The pane is shown to the left of the content.
The pane is shown to the right of the content.
Provides calculated values that can be referenced as TemplatedParent sources when defining templates for a
.
Not intended for general use.
Gets the value as a GridLength.
Gets the negative of the value.
Gets the negative of the value calculated by subtracting the value from
the value.
Gets the value as a GridLength.
Gets the value.
Gets a value calculated by subtracting the value from the
value.
An Enum representing different themes for window commands.
HorizontalTitleAlignment Dependency Property.
Default Value: HorizontalAlignment.Left
Gets/Sets the horizontal alignment of the title.
VerticalTitleAlignment Dependency Property.
Default Value: VerticalAlignment.Bottom
Gets/Sets the vertical alignment of the title.
Represents a control that allows the user to select a date and a time.
Occurs when the property is changed.
Gets or sets the date to display
The date to display. The default is .
Gets or sets the last date to be displayed.
The last date to display.
Gets or sets the first date to be displayed.
The first date to display.
Gets or sets the day that is considered the beginning of the week.
A that represents the beginning of the week. The default is the
that is determined by the current culture.
Gets or sets a value that indicates whether the current date will be highlighted.
true if the current date is highlighted; otherwise, false. The default is true.
Gets or sets a value that indicates the dimension by which calendar and clock are stacked.
The of the calendar and clock. The default is
.
Gets or sets the currently selected date.
The date currently selected. The default is null.
Defines the visibility for time-parts that are visible for the .
Represents a control that allows the user to select a time.
Represents a base-class for time picking.
This readonly dependency property is to control whether to show the date-picker (in case of ) or hide it (in case of .
Represents the time 00:00:00; 12:00:00 AM respectively
Represents the time 23:59:59.9999999; 11:59:59.9999999 PM respectively
This list contains values from 0 to 55 with an interval of 5. It can be used to bind to and .
<MahApps:TimePicker SourceSeconds="{x:Static MahApps:TimePickerBase.IntervalOf5}" />
<MahApps:DateTimePicker SourceSeconds="{x:Static MahApps:TimePickerBase.IntervalOf5}" />
Returns a list containing {0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55}.
This list contains values from 0 to 50 with an interval of 10. It can be used to bind to and .
<MahApps:TimePicker SourceSeconds="{x:Static MahApps:TimePickerBase.IntervalOf10}" />
<MahApps:DateTimePicker SourceSeconds="{x:Static MahApps:TimePickerBase.IntervalOf10}" />
Returns a list containing {0, 10, 20, 30, 40, 50}.
This list contains values from 0 to 45 with an interval of 15. It can be used to bind to and .
<MahApps:TimePicker SourceSeconds="{x:Static MahApps:TimePickerBase.IntervalOf15}" />
<MahApps:DateTimePicker SourceSeconds="{x:Static MahApps:TimePickerBase.IntervalOf15}" />
Returns a list containing {0, 15, 30, 45}.
Occurs when the property is changed.
Gets or sets a value indicating the culture to be used in string formatting operations.
Gets or sets a value indicating the visibility of the clock hands in the user interface (UI).
The visibility definition of the clock hands. The default is .
Gets or sets a value indicating whether the date can be selected or not. This property is read-only.
Gets or sets a value indicating whether the clock of this control is visible in the user interface (UI). This is a
dependency property.
If this value is set to false then is set to
true if the clock is visible; otherwise, false. The default value is true.
Gets or sets a value indicating whether the drop-down for a box is currently
open.
true if the drop-down is open; otherwise, false. The default is false.
Gets or sets a value indicating whether the contents of the are not editable.
true if the is read-only; otherwise, false. The default is false.
Gets or sets a value indicating the visibility of the selectable date-time-parts in the user interface (UI).
visibility definition of the selectable date-time-parts. The default is .
Gets or sets the currently selected time.
The time currently selected. The default is null.
Gets or sets a collection used to generate the content for selecting the hours.
A collection that is used to generate the content for selecting the hours. The default is a list of interger from 0
to 23 if is false or a list of interger from
1 to 12 otherwise..
Gets or sets a collection used to generate the content for selecting the minutes.
A collection that is used to generate the content for selecting the minutes. The default is a list of int from
0 to 59.
Gets or sets a collection used to generate the content for selecting the seconds.
A collection that is used to generate the content for selecting the minutes. The default is a list of int from
0 to 59.
Gets a value indicating whether the that is specified by the
set by the ( if null) has not a value.
When overridden in a derived class, is invoked whenever application code or internal processes call
.
Gets the offset from the selected to use it in as hour
parameter.
The current hour.
An integer representing the offset to add to the hour that is selected in the hour-picker for setting the correct
. The offset is determined as follows:
ConditionOffset
-
is false0
-
Selected hour is between 1 AM and 11 AM0
-
Selected hour is 12 AM-12h
-
Selected hour is between 12 PM and 11 PM+12h
A control that allows the user to toggle between two states: One represents true; The other represents false.
Gets/sets the font family of the header.
Gets/sets the text to display when the control is in it's On state.
Gets/sets the text to display when the control is in it's Off state.
Gets/sets the brush used for the switch's foreground.
Gets/sets the brush used for the on-switch's foreground.
Gets/sets the brush used for the off-switch's foreground.
Gets/sets the brush used for the thumb indicator.
Gets/sets the brush used for the thumb indicator.
Gets/sets the width of the thumb indicator.
Gets/sets the control's content flow direction.
Gets/sets the control's toggle switch button style.
Gets/sets whether the control is Checked (On) or not (Off).
Gets/sets the command which will be executed if the IsChecked property was changed.
Gets/sets the command which will be executed if the checked event of the control is fired.
Gets/sets the command which will be executed if the checked event of the control is fired.
Gets/sets the command parameter which will be passed by the CheckChangedCommand.
Gets/sets the command parameter which will be passed by the CheckedCommand.
Gets/sets the command parameter which will be passed by the UnCheckedCommand.
An event that is raised when the value of IsChecked changes.
A Button that allows the user to toggle between two states.
Gets/sets the brush used for the control's foreground.
Gets/sets the brush used for the on-switch's foreground.
Gets/sets the brush used for the off-switch's foreground.
Gets/sets the brush used for the thumb indicator.
Gets/sets the brush used for the thumb indicator.
Gets/sets the width of the thumb indicator.
enumeration for the different transition types
Use the VisualState DefaultTransition
Use the VisualState Normal
Use the VisualState UpTransition
Use the VisualState DownTransition
Use the VisualState RightTransition
Use the VisualState RightReplaceTransition
Use the VisualState LeftTransition
Use the VisualState LeftReplaceTransition
Use a custom VisualState, the name must be set using CustomVisualStatesName property
A ContentControl that animates content as it loads and unloads.
Gets or sets the name of the custom transition visual state.
Gets/sets if the content is transitioning.
Reload the current transition if the content is the same.
Helper methods for UI-related tasks.
This class was obtained from Philip Sumi (a fellow WPF Disciples blog)
http://www.hardcodet.net/uploads/2009/06/UIHelper.cs
Finds a parent of a given item on the visual tree.
The type of the queried item.
A direct or indirect child of the
queried item.
The first parent item that matches the submitted
type parameter. If not matching item can be found, a null
reference is being returned.
Finds a Child of a given item in the visual tree.
A direct parent of the queried item.
The type of the queried item.
x:Name or Name of child.
The first parent item that matches the submitted type parameter.
If not matching item can be found,
a null parent is being returned.
This method is an alternative to WPF's
method, which also
supports content elements. Keep in mind that for content element,
this method falls back to the logical tree of the element!
The item to be processed.
The submitted item's parent, if available. Otherwise
null.
Analyzes both visual and logical tree in order to find all elements of a given
type that are descendants of the item.
The type of the queried items.
The root element that marks the source of the search. If the
source is already of the requested type, it will not be included in the result.
Sometimes it's better to search in the VisualTree (e.g. in tests)
All descendants of that match the requested type.
This method is an alternative to WPF's
method, which also
supports content elements. Keep in mind that for content elements,
this method falls back to the logical tree of the element.
The item to be processed.
Sometimes it's better to search in the VisualTree (e.g. in tests)
The submitted item's child elements, if available.
Tries to locate a given item within the visual tree,
starting with the dependency object at a given position.
The type of the element to be found
on the visual tree of the element at the given location.
The main element which is used to perform
hit testing.
The position to be evaluated on the origin.
Gets the relative mouse position to the given handle in client coordinates.
The handle for this method.
Try to get the relative mouse position to the given handle in client coordinates.
The handle for this method.
Gets or sets the value indicating current light style for the minimize button.
Gets or sets the value indicating current light style for the maximize button.
Gets or sets the value indicating current light style for the close button.
Gets or sets the value indicating current dark style for the minimize button.
Gets or sets the value indicating current dark style for the maximize button.
Gets or sets the value indicating current dark style for the close button.
Gets or sets the value indicating current theme.
Gets or sets the minimize button tooltip.
Gets or sets the maximize button tooltip.
Gets or sets the close button tooltip.
Gets or sets the restore button tooltip.
Gets or sets the value indicating current theme.
Gets or sets the value indicating light theme template.
Gets or sets the value indicating light theme template.
Gets or sets the value indicating whether to show the separators.
Gets or sets the value indicating whether to show the last separator.
Gets or sets the value indicating separator height.
Gets or sets the value indicating whether to show the separator.
Doesn't overlay flyouts nor a hidden TitleBar.
Overlays opened controls.
Overlays a hidden TitleBar.
Refreshes the application settings property values from persistent storage.
Upgrades the application settings on loading.
Updates application settings to reflect a more recent installation of the application.
Stores the current values of the settings properties.
this settings class is the default way to save the placement of the window
Upgrades the application settings on loading.
Determining Ideal Text Color Based on Specified Background Color
http://www.codeproject.com/KB/GDI-plus/IdealTextColor.aspx
The bg.
Converts a double representing either hour/minute/second to the corresponding angle.
Converts the value from true to false and false to true.
Converts a String into a Visibility enumeration (and back)
The FalseEquivalent can be declared with the "FalseEquivalent" property
Initialize the properties with standard values
FalseEquivalent (default : Visibility.Collapsed => see Constructor)
Define whether the opposite boolean value is crucial (default : false)
Converts a Thickness to a new Thickness. It's possible to ignore a side With the IgnoreThicknessSide property.
Use all sides.
Ignore the left side.
Ignore the top side.
Ignore the right side.
Ignore the bottom side.
Converts a value.
A converted value. If the method returns null, the valid null value is used.
The value produced by the binding source.
The type of the binding target property.
The converter parameter to use.
The culture to use in the converter.
Converts a value.
A converted value. If the method returns null, the valid null value is used.
The value that is produced by the binding target.
The type to convert to.
The converter parameter to use.
The culture to use in the converter.
Windows Messages
Defined in winuser.h from Windows SDK v6.1
Documentation pulled from MSDN.
The WM_NULL message performs no operation. An application sends the WM_NULL message if it wants to post a message that the recipient window will ignore.
The WM_CREATE message is sent when an application requests that a window be created by calling the CreateWindowEx or CreateWindow function. (The message is sent before the function returns.) The window procedure of the new window receives this message after the window is created, but before the window becomes visible.
The WM_DESTROY message is sent when a window is being destroyed. It is sent to the window procedure of the window being destroyed after the window is removed from the screen.
This message is sent first to the window being destroyed and then to the child windows (if any) as they are destroyed. During the processing of the message, it can be assumed that all child windows still exist.
///
The WM_MOVE message is sent after a window has been moved.
The WM_SIZE message is sent to a window after its size has changed.
The WM_ACTIVATE message is sent to both the window being activated and the window being deactivated. If the windows use the same input queue, the message is sent synchronously, first to the window procedure of the top-level window being deactivated, then to the window procedure of the top-level window being activated. If the windows use different input queues, the message is sent asynchronously, so the window is activated immediately.
The WM_SETFOCUS message is sent to a window after it has gained the keyboard focus.
The WM_KILLFOCUS message is sent to a window immediately before it loses the keyboard focus.
The WM_ENABLE message is sent when an application changes the enabled state of a window. It is sent to the window whose enabled state is changing. This message is sent before the EnableWindow function returns, but after the enabled state (WS_DISABLED style bit) of the window has changed.
An application sends the WM_SETREDRAW message to a window to allow changes in that window to be redrawn or to prevent changes in that window from being redrawn.
An application sends a WM_SETTEXT message to set the text of a window.
An application sends a WM_GETTEXT message to copy the text that corresponds to a window into a buffer provided by the caller.
An application sends a WM_GETTEXTLENGTH message to determine the length, in characters, of the text associated with a window.
The WM_PAINT message is sent when the system or another application makes a request to paint a portion of an application's window. The message is sent when the UpdateWindow or RedrawWindow function is called, or by the DispatchMessage function when the application obtains a WM_PAINT message by using the GetMessage or PeekMessage function.
The WM_CLOSE message is sent as a signal that a window or an application should terminate.
The WM_QUERYENDSESSION message is sent when the user chooses to end the session or when an application calls one of the system shutdown functions. If any application returns zero, the session is not ended. The system stops sending WM_QUERYENDSESSION messages as soon as one application returns zero.
After processing this message, the system sends the WM_ENDSESSION message with the wParam parameter set to the results of the WM_QUERYENDSESSION message.
The WM_QUERYOPEN message is sent to an icon when the user requests that the window be restored to its previous size and position.
The WM_ENDSESSION message is sent to an application after the system processes the results of the WM_QUERYENDSESSION message. The WM_ENDSESSION message informs the application whether the session is ending.
The WM_QUIT message indicates a request to terminate an application and is generated when the application calls the PostQuitMessage function. It causes the GetMessage function to return zero.
The WM_ERASEBKGND message is sent when the window background must be erased (for example, when a window is resized). The message is sent to prepare an invalidated portion of a window for painting.
This message is sent to all top-level windows when a change is made to a system color setting.
The WM_SHOWWINDOW message is sent to a window when the window is about to be hidden or shown.
An application sends the WM_WININICHANGE message to all top-level windows after making a change to the WIN.INI file. The SystemParametersInfo function sends this message after an application uses the function to change a setting in WIN.INI.
Note The WM_WININICHANGE message is provided only for compatibility with earlier versions of the system. Applications should use the WM_SETTINGCHANGE message.
An application sends the WM_WININICHANGE message to all top-level windows after making a change to the WIN.INI file. The SystemParametersInfo function sends this message after an application uses the function to change a setting in WIN.INI.
Note The WM_WININICHANGE message is provided only for compatibility with earlier versions of the system. Applications should use the WM_SETTINGCHANGE message.
The WM_DEVMODECHANGE message is sent to all top-level windows whenever the user changes device-mode settings.
The WM_ACTIVATEAPP message is sent when a window belonging to a different application than the active window is about to be activated. The message is sent to the application whose window is being activated and to the application whose window is being deactivated.
An application sends the WM_FONTCHANGE message to all top-level windows in the system after changing the pool of font resources.
A message that is sent whenever there is a change in the system time.
The WM_CANCELMODE message is sent to cancel certain modes, such as mouse capture. For example, the system sends this message to the active window when a dialog box or message box is displayed. Certain functions also send this message explicitly to the specified window regardless of whether it is the active window. For example, the EnableWindow function sends this message when disabling the specified window.
The WM_SETCURSOR message is sent to a window if the mouse causes the cursor to move within a window and mouse input is not captured.
The WM_MOUSEACTIVATE message is sent when the cursor is in an inactive window and the user presses a mouse button. The parent window receives this message only if the child window passes it to the DefWindowProc function.
The WM_CHILDACTIVATE message is sent to a child window when the user clicks the window's title bar or when the window is activated, moved, or sized.
The WM_QUEUESYNC message is sent by a computer-based training (CBT) application to separate user-input messages from other messages sent through the WH_JOURNALPLAYBACK Hook procedure.
The WM_GETMINMAXINFO message is sent to a window when the size or position of the window is about to change. An application can use this message to override the window's default maximized size and position, or its default minimum or maximum tracking size.
Windows NT 3.51 and earlier: The WM_PAINTICON message is sent to a minimized window when the icon is to be painted. This message is not sent by newer versions of Microsoft Windows, except in unusual circumstances explained in the Remarks.
Windows NT 3.51 and earlier: The WM_ICONERASEBKGND message is sent to a minimized window when the background of the icon must be filled before painting the icon. A window receives this message only if a class icon is defined for the window; otherwise, WM_ERASEBKGND is sent. This message is not sent by newer versions of Windows.
The WM_NEXTDLGCTL message is sent to a dialog box procedure to set the keyboard focus to a different control in the dialog box.
The WM_SPOOLERSTATUS message is sent from Print Manager whenever a job is added to or removed from the Print Manager queue.
The WM_DRAWITEM message is sent to the parent window of an owner-drawn button, combo box, list box, or menu when a visual aspect of the button, combo box, list box, or menu has changed.
The WM_MEASUREITEM message is sent to the owner window of a combo box, list box, list view control, or menu item when the control or menu is created.
Sent to the owner of a list box or combo box when the list box or combo box is destroyed or when items are removed by the LB_DELETESTRING, LB_RESETCONTENT, CB_DELETESTRING, or CB_RESETCONTENT message. The system sends a WM_DELETEITEM message for each deleted item. The system sends the WM_DELETEITEM message for any deleted list box or combo box item with nonzero item data.
Sent by a list box with the LBS_WANTKEYBOARDINPUT style to its owner in response to a WM_KEYDOWN message.
Sent by a list box with the LBS_WANTKEYBOARDINPUT style to its owner in response to a WM_CHAR message.
An application sends a WM_SETFONT message to specify the font that a control is to use when drawing text.
An application sends a WM_GETFONT message to a control to retrieve the font with which the control is currently drawing its text.
An application sends a WM_SETHOTKEY message to a window to associate a hot key with the window. When the user presses the hot key, the system activates the window.
An application sends a WM_GETHOTKEY message to determine the hot key associated with a window.
The WM_QUERYDRAGICON message is sent to a minimized (iconic) window. The window is about to be dragged by the user but does not have an icon defined for its class. An application can return a handle to an icon or cursor. The system displays this cursor or icon while the user drags the icon.
The system sends the WM_COMPAREITEM message to determine the relative position of a new item in the sorted list of an owner-drawn combo box or list box. Whenever the application adds a new item, the system sends this message to the owner of a combo box or list box created with the CBS_SORT or LBS_SORT style.
Active Accessibility sends the WM_GETOBJECT message to obtain information about an accessible object contained in a server application.
Applications never send this message directly. It is sent only by Active Accessibility in response to calls to AccessibleObjectFromPoint, AccessibleObjectFromEvent, or AccessibleObjectFromWindow. However, server applications handle this message.
The WM_COMPACTING message is sent to all top-level windows when the system detects more than 12.5 percent of system time over a 30- to 60-second interval is being spent compacting memory. This indicates that system memory is low.
WM_COMMNOTIFY is Obsolete for Win32-Based Applications
The WM_WINDOWPOSCHANGING message is sent to a window whose size, position, or place in the Z order is about to change as a result of a call to the SetWindowPos function or another window-management function.
The WM_WINDOWPOSCHANGED message is sent to a window whose size, position, or place in the Z order has changed as a result of a call to the SetWindowPos function or another window-management function.
Notifies applications that the system, typically a battery-powered personal computer, is about to enter a suspended mode.
Use: POWERBROADCAST
An application sends the WM_COPYDATA message to pass data to another application.
The WM_CANCELJOURNAL message is posted to an application when a user cancels the application's journaling activities. The message is posted with a NULL window handle.
Sent by a common control to its parent window when an event has occurred or the control requires some information.
The WM_INPUTLANGCHANGEREQUEST message is posted to the window with the focus when the user chooses a new input language, either with the hotkey (specified in the Keyboard control panel application) or from the indicator on the system taskbar. An application can accept the change by passing the message to the DefWindowProc function or reject the change (and prevent it from taking place) by returning immediately.
The WM_INPUTLANGCHANGE message is sent to the topmost affected window after an application's input language has been changed. You should make any application-specific settings and pass the message to the DefWindowProc function, which passes the message to all first-level child windows. These child windows can pass the message to DefWindowProc to have it pass the message to their child windows, and so on.
Sent to an application that has initiated a training card with Microsoft Windows Help. The message informs the application when the user clicks an authorable button. An application initiates a training card by specifying the HELP_TCARD command in a call to the WinHelp function.
Indicates that the user pressed the F1 key. If a menu is active when F1 is pressed, WM_HELP is sent to the window associated with the menu; otherwise, WM_HELP is sent to the window that has the keyboard focus. If no window has the keyboard focus, WM_HELP is sent to the currently active window.
The WM_USERCHANGED message is sent to all windows after the user has logged on or off. When the user logs on or off, the system updates the user-specific settings. The system sends this message immediately after updating the settings.
Determines if a window accepts ANSI or Unicode structures in the WM_NOTIFY notification message. WM_NOTIFYFORMAT messages are sent from a common control to its parent window and from the parent window to the common control.
The WM_CONTEXTMENU message notifies a window that the user clicked the right mouse button (right-clicked) in the window.
The WM_STYLECHANGING message is sent to a window when the SetWindowLong function is about to change one or more of the window's styles.
The WM_STYLECHANGED message is sent to a window after the SetWindowLong function has changed one or more of the window's styles
The WM_DISPLAYCHANGE message is sent to all windows when the display resolution has changed.
The WM_GETICON message is sent to a window to retrieve a handle to the large or small icon associated with a window. The system displays the large icon in the ALT+TAB dialog, and the small icon in the window caption.
An application sends the WM_SETICON message to associate a new large or small icon with a window. The system displays the large icon in the ALT+TAB dialog box, and the small icon in the window caption.
The WM_NCCREATE message is sent prior to the WM_CREATE message when a window is first created.
The WM_NCDESTROY message informs a window that its nonclient area is being destroyed. The DestroyWindow function sends the WM_NCDESTROY message to the window following the WM_DESTROY message. WM_DESTROY is used to free the allocated memory object associated with the window.
The WM_NCDESTROY message is sent after the child windows have been destroyed. In contrast, WM_DESTROY is sent before the child windows are destroyed.
The WM_NCCALCSIZE message is sent when the size and position of a window's client area must be calculated. By processing this message, an application can control the content of the window's client area when the size or position of the window changes.
The WM_NCHITTEST message is sent to a window when the cursor moves, or when a mouse button is pressed or released. If the mouse is not captured, the message is sent to the window beneath the cursor. Otherwise, the message is sent to the window that has captured the mouse.
The WM_NCPAINT message is sent to a window when its frame must be painted.
The WM_NCACTIVATE message is sent to a window when its nonclient area needs to be changed to indicate an active or inactive state.
The WM_GETDLGCODE message is sent to the window procedure associated with a control. By default, the system handles all keyboard input to the control; the system interprets certain types of keyboard input as dialog box navigation keys. To override this default behavior, the control can respond to the WM_GETDLGCODE message to indicate the types of input it wants to process itself.
The WM_SYNCPAINT message is used to synchronize painting while avoiding linking independent GUI threads.
The WM_NCMOUSEMOVE message is posted to a window when the cursor is moved within the nonclient area of the window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
The WM_NCLBUTTONDOWN message is posted when the user presses the left mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
The WM_NCLBUTTONUP message is posted when the user releases the left mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
The WM_NCLBUTTONDBLCLK message is posted when the user double-clicks the left mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
The WM_NCRBUTTONDOWN message is posted when the user presses the right mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
The WM_NCRBUTTONUP message is posted when the user releases the right mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
The WM_NCRBUTTONDBLCLK message is posted when the user double-clicks the right mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
The WM_NCMBUTTONDOWN message is posted when the user presses the middle mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
The WM_NCMBUTTONUP message is posted when the user releases the middle mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
The WM_NCMBUTTONDBLCLK message is posted when the user double-clicks the middle mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
The WM_NCXBUTTONDOWN message is posted when the user presses the first or second X button while the cursor is in the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
The WM_NCXBUTTONUP message is posted when the user releases the first or second X button while the cursor is in the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
The WM_NCXBUTTONDBLCLK message is posted when the user double-clicks the first or second X button while the cursor is in the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
The WM_INPUT_DEVICE_CHANGE message is sent to the window that registered to receive raw input. A window receives this message through its WindowProc function.
The WM_INPUT message is sent to the window that is getting raw input.
This message filters for keyboard messages.
The WM_KEYDOWN message is posted to the window with the keyboard focus when a nonsystem key is pressed. A nonsystem key is a key that is pressed when the ALT key is not pressed.
The WM_KEYUP message is posted to the window with the keyboard focus when a nonsystem key is released. A nonsystem key is a key that is pressed when the ALT key is not pressed, or a keyboard key that is pressed when a window has the keyboard focus.
The WM_CHAR message is posted to the window with the keyboard focus when a WM_KEYDOWN message is translated by the TranslateMessage function. The WM_CHAR message contains the character code of the key that was pressed.
The WM_DEADCHAR message is posted to the window with the keyboard focus when a WM_KEYUP message is translated by the TranslateMessage function. WM_DEADCHAR specifies a character code generated by a dead key. A dead key is a key that generates a character, such as the umlaut (double-dot), that is combined with another character to form a composite character. For example, the umlaut-O character (Ö) is generated by typing the dead key for the umlaut character, and then typing the O key.
The WM_SYSKEYDOWN message is posted to the window with the keyboard focus when the user presses the F10 key (which activates the menu bar) or holds down the ALT key and then presses another key. It also occurs when no window currently has the keyboard focus; in this case, the WM_SYSKEYDOWN message is sent to the active window. The window that receives the message can distinguish between these two contexts by checking the context code in the lParam parameter.
The WM_SYSKEYUP message is posted to the window with the keyboard focus when the user releases a key that was pressed while the ALT key was held down. It also occurs when no window currently has the keyboard focus; in this case, the WM_SYSKEYUP message is sent to the active window. The window that receives the message can distinguish between these two contexts by checking the context code in the lParam parameter.
The WM_SYSCHAR message is posted to the window with the keyboard focus when a WM_SYSKEYDOWN message is translated by the TranslateMessage function. It specifies the character code of a system character key — that is, a character key that is pressed while the ALT key is down.
The WM_SYSDEADCHAR message is sent to the window with the keyboard focus when a WM_SYSKEYDOWN message is translated by the TranslateMessage function. WM_SYSDEADCHAR specifies the character code of a system dead key — that is, a dead key that is pressed while holding down the ALT key.
The WM_UNICHAR message is posted to the window with the keyboard focus when a WM_KEYDOWN message is translated by the TranslateMessage function. The WM_UNICHAR message contains the character code of the key that was pressed.
The WM_UNICHAR message is equivalent to WM_CHAR, but it uses Unicode Transformation Format (UTF)-32, whereas WM_CHAR uses UTF-16. It is designed to send or post Unicode characters to ANSI windows and it can can handle Unicode Supplementary Plane characters.
This message filters for keyboard messages.
Sent immediately before the IME generates the composition string as a result of a keystroke. A window receives this message through its WindowProc function.
Sent to an application when the IME ends composition. A window receives this message through its WindowProc function.
Sent to an application when the IME changes composition status as a result of a keystroke. A window receives this message through its WindowProc function.
The WM_INITDIALOG message is sent to the dialog box procedure immediately before a dialog box is displayed. Dialog box procedures typically use this message to initialize controls and carry out any other initialization tasks that affect the appearance of the dialog box.
The WM_COMMAND message is sent when the user selects a command item from a menu, when a control sends a notification message to its parent window, or when an accelerator keystroke is translated.
A window receives this message when the user chooses a command from the Window menu, clicks the maximize button, minimize button, restore button, close button, or moves the form. You can stop the form from moving by filtering this out.
The WM_TIMER message is posted to the installing thread's message queue when a timer expires. The message is posted by the GetMessage or PeekMessage function.
The WM_HSCROLL message is sent to a window when a scroll event occurs in the window's standard horizontal scroll bar. This message is also sent to the owner of a horizontal scroll bar control when a scroll event occurs in the control.
The WM_VSCROLL message is sent to a window when a scroll event occurs in the window's standard vertical scroll bar. This message is also sent to the owner of a vertical scroll bar control when a scroll event occurs in the control.
The WM_INITMENU message is sent when a menu is about to become active. It occurs when the user clicks an item on the menu bar or presses a menu key. This allows the application to modify the menu before it is displayed.
The WM_INITMENUPOPUP message is sent when a drop-down menu or submenu is about to become active. This allows an application to modify the menu before it is displayed, without changing the entire menu.
The WM_MENUSELECT message is sent to a menu's owner window when the user selects a menu item.
The WM_MENUCHAR message is sent when a menu is active and the user presses a key that does not correspond to any mnemonic or accelerator key. This message is sent to the window that owns the menu.
The WM_ENTERIDLE message is sent to the owner window of a modal dialog box or menu that is entering an idle state. A modal dialog box or menu enters an idle state when no messages are waiting in its queue after it has processed one or more previous messages.
The WM_MENURBUTTONUP message is sent when the user releases the right mouse button while the cursor is on a menu item.
The WM_MENUDRAG message is sent to the owner of a drag-and-drop menu when the user drags a menu item.
The WM_MENUGETOBJECT message is sent to the owner of a drag-and-drop menu when the mouse cursor enters a menu item or moves from the center of the item to the top or bottom of the item.
The WM_UNINITMENUPOPUP message is sent when a drop-down menu or submenu has been destroyed.
The WM_MENUCOMMAND message is sent when the user makes a selection from a menu.
An application sends the WM_CHANGEUISTATE message to indicate that the user interface (UI) state should be changed.
An application sends the WM_UPDATEUISTATE message to change the user interface (UI) state for the specified window and all its child windows.
An application sends the WM_QUERYUISTATE message to retrieve the user interface (UI) state for a window.
The WM_CTLCOLORMSGBOX message is sent to the owner window of a message box before Windows draws the message box. By responding to this message, the owner window can set the text and background colors of the message box by using the given display device context handle.
An edit control that is not read-only or disabled sends the WM_CTLCOLOREDIT message to its parent window when the control is about to be drawn. By responding to this message, the parent window can use the specified device context handle to set the text and background colors of the edit control.
Sent to the parent window of a list box before the system draws the list box. By responding to this message, the parent window can set the text and background colors of the list box by using the specified display device context handle.
The WM_CTLCOLORBTN message is sent to the parent window of a button before drawing the button. The parent window can change the button's text and background colors. However, only owner-drawn buttons respond to the parent window processing this message.
The WM_CTLCOLORDLG message is sent to a dialog box before the system draws the dialog box. By responding to this message, the dialog box can set its text and background colors using the specified display device context handle.
The WM_CTLCOLORSCROLLBAR message is sent to the parent window of a scroll bar control when the control is about to be drawn. By responding to this message, the parent window can use the display context handle to set the background color of the scroll bar control.
A static control, or an edit control that is read-only or disabled, sends the WM_CTLCOLORSTATIC message to its parent window when the control is about to be drawn. By responding to this message, the parent window can use the specified device context handle to set the text and background colors of the static control.
Use WM_MOUSEFIRST to specify the first mouse message. Use the PeekMessage() Function.
The WM_MOUSEMOVE message is posted to a window when the cursor moves. If the mouse is not captured, the message is posted to the window that contains the cursor. Otherwise, the message is posted to the window that has captured the mouse.
The WM_LBUTTONDOWN message is posted when the user presses the left mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
The WM_LBUTTONUP message is posted when the user releases the left mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
The WM_LBUTTONDBLCLK message is posted when the user double-clicks the left mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
The WM_RBUTTONDOWN message is posted when the user presses the right mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
The WM_RBUTTONUP message is posted when the user releases the right mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
The WM_RBUTTONDBLCLK message is posted when the user double-clicks the right mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
The WM_MBUTTONDOWN message is posted when the user presses the middle mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
The WM_MBUTTONUP message is posted when the user releases the middle mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
The WM_MBUTTONDBLCLK message is posted when the user double-clicks the middle mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
The WM_MOUSEWHEEL message is sent to the focus window when the mouse wheel is rotated. The DefWindowProc function propagates the message to the window's parent. There should be no internal forwarding of the message, since DefWindowProc propagates it up the parent chain until it finds a window that processes it.
The WM_XBUTTONDOWN message is posted when the user presses the first or second X button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
The WM_XBUTTONUP message is posted when the user releases the first or second X button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
The WM_XBUTTONDBLCLK message is posted when the user double-clicks the first or second X button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
The WM_MOUSEHWHEEL message is sent to the focus window when the mouse's horizontal scroll wheel is tilted or rotated. The DefWindowProc function propagates the message to the window's parent. There should be no internal forwarding of the message, since DefWindowProc propagates it up the parent chain until it finds a window that processes it.
Use WM_MOUSELAST to specify the last mouse message. Used with PeekMessage() Function.
The WM_PARENTNOTIFY message is sent to the parent of a child window when the child window is created or destroyed, or when the user clicks a mouse button while the cursor is over the child window. When the child window is being created, the system sends WM_PARENTNOTIFY just before the CreateWindow or CreateWindowEx function that creates the window returns. When the child window is being destroyed, the system sends the message before any processing to destroy the window takes place.
The WM_ENTERMENULOOP message informs an application's main window procedure that a menu modal loop has been entered.
The WM_EXITMENULOOP message informs an application's main window procedure that a menu modal loop has been exited.
The WM_NEXTMENU message is sent to an application when the right or left arrow key is used to switch between the menu bar and the system menu.
The WM_SIZING message is sent to a window that the user is resizing. By processing this message, an application can monitor the size and position of the drag rectangle and, if needed, change its size or position.
The WM_CAPTURECHANGED message is sent to the window that is losing the mouse capture.
The WM_MOVING message is sent to a window that the user is moving. By processing this message, an application can monitor the position of the drag rectangle and, if needed, change its position.
Notifies applications that a power-management event has occurred.
Notifies an application of a change to the hardware configuration of a device or the computer.
An application sends the WM_MDICREATE message to a multiple-document interface (MDI) client window to create an MDI child window.
An application sends the WM_MDIDESTROY message to a multiple-document interface (MDI) client window to close an MDI child window.
An application sends the WM_MDIACTIVATE message to a multiple-document interface (MDI) client window to instruct the client window to activate a different MDI child window.
An application sends the WM_MDIRESTORE message to a multiple-document interface (MDI) client window to restore an MDI child window from maximized or minimized size.
An application sends the WM_MDINEXT message to a multiple-document interface (MDI) client window to activate the next or previous child window.
An application sends the WM_MDIMAXIMIZE message to a multiple-document interface (MDI) client window to maximize an MDI child window. The system resizes the child window to make its client area fill the client window. The system places the child window's window menu icon in the rightmost position of the frame window's menu bar, and places the child window's restore icon in the leftmost position. The system also appends the title bar text of the child window to that of the frame window.
An application sends the WM_MDITILE message to a multiple-document interface (MDI) client window to arrange all of its MDI child windows in a tile format.
An application sends the WM_MDICASCADE message to a multiple-document interface (MDI) client window to arrange all its child windows in a cascade format.
An application sends the WM_MDIICONARRANGE message to a multiple-document interface (MDI) client window to arrange all minimized MDI child windows. It does not affect child windows that are not minimized.
An application sends the WM_MDIGETACTIVE message to a multiple-document interface (MDI) client window to retrieve the handle to the active MDI child window.
An application sends the WM_MDISETMENU message to a multiple-document interface (MDI) client window to replace the entire menu of an MDI frame window, to replace the window menu of the frame window, or both.
The WM_ENTERSIZEMOVE message is sent one time to a window after it enters the moving or sizing modal loop. The window enters the moving or sizing modal loop when the user clicks the window's title bar or sizing border, or when the window passes the WM_SYSCOMMAND message to the DefWindowProc function and the wParam parameter of the message specifies the SC_MOVE or SC_SIZE value. The operation is complete when DefWindowProc returns.
The system sends the WM_ENTERSIZEMOVE message regardless of whether the dragging of full windows is enabled.
The WM_EXITSIZEMOVE message is sent one time to a window, after it has exited the moving or sizing modal loop. The window enters the moving or sizing modal loop when the user clicks the window's title bar or sizing border, or when the window passes the WM_SYSCOMMAND message to the DefWindowProc function and the wParam parameter of the message specifies the SC_MOVE or SC_SIZE value. The operation is complete when DefWindowProc returns.
Sent when the user drops a file on the window of an application that has registered itself as a recipient of dropped files.
An application sends the WM_MDIREFRESHMENU message to a multiple-document interface (MDI) client window to refresh the window menu of the MDI frame window.
Sent to an application when a window is activated. A window receives this message through its WindowProc function.
Sent to an application to notify it of changes to the IME window. A window receives this message through its WindowProc function.
Sent by an application to direct the IME window to carry out the requested command. The application uses this message to control the IME window that it has created. To send this message, the application calls the SendMessage function with the following parameters.
Sent to an application when the IME window finds no space to extend the area for the composition window. A window receives this message through its WindowProc function.
Sent to an application when the operating system is about to change the current IME. A window receives this message through its WindowProc function.
Sent to an application when the IME gets a character of the conversion result. A window receives this message through its WindowProc function.
Sent to an application to provide commands and request information. A window receives this message through its WindowProc function.
Sent to an application by the IME to notify the application of a key press and to keep message order. A window receives this message through its WindowProc function.
Sent to an application by the IME to notify the application of a key release and to keep message order. A window receives this message through its WindowProc function.
The WM_MOUSEHOVER message is posted to a window when the cursor hovers over the client area of the window for the period of time specified in a prior call to TrackMouseEvent.
The WM_MOUSELEAVE message is posted to a window when the cursor leaves the client area of the window specified in a prior call to TrackMouseEvent.
The WM_NCMOUSEHOVER message is posted to a window when the cursor hovers over the nonclient area of the window for the period of time specified in a prior call to TrackMouseEvent.
The WM_NCMOUSELEAVE message is posted to a window when the cursor leaves the nonclient area of the window specified in a prior call to TrackMouseEvent.
The WM_WTSSESSION_CHANGE message notifies applications of changes in session state.
An application sends a WM_CUT message to an edit control or combo box to delete (cut) the current selection, if any, in the edit control and copy the deleted text to the clipboard in CF_TEXT format.
An application sends the WM_COPY message to an edit control or combo box to copy the current selection to the clipboard in CF_TEXT format.
An application sends a WM_PASTE message to an edit control or combo box to copy the current content of the clipboard to the edit control at the current caret position. Data is inserted only if the clipboard contains data in CF_TEXT format.
An application sends a WM_CLEAR message to an edit control or combo box to delete (clear) the current selection, if any, from the edit control.
An application sends a WM_UNDO message to an edit control to undo the last operation. When this message is sent to an edit control, the previously deleted text is restored or the previously added text is deleted.
The WM_RENDERFORMAT message is sent to the clipboard owner if it has delayed rendering a specific clipboard format and if an application has requested data in that format. The clipboard owner must render data in the specified format and place it on the clipboard by calling the SetClipboardData function.
The WM_RENDERALLFORMATS message is sent to the clipboard owner before it is destroyed, if the clipboard owner has delayed rendering one or more clipboard formats. For the content of the clipboard to remain available to other applications, the clipboard owner must render data in all the formats it is capable of generating, and place the data on the clipboard by calling the SetClipboardData function.
The WM_DESTROYCLIPBOARD message is sent to the clipboard owner when a call to the EmptyClipboard function empties the clipboard.
The WM_DRAWCLIPBOARD message is sent to the first window in the clipboard viewer chain when the content of the clipboard changes. This enables a clipboard viewer window to display the new content of the clipboard.
The WM_PAINTCLIPBOARD message is sent to the clipboard owner by a clipboard viewer window when the clipboard contains data in the CF_OWNERDISPLAY format and the clipboard viewer's client area needs repainting.
The WM_VSCROLLCLIPBOARD message is sent to the clipboard owner by a clipboard viewer window when the clipboard contains data in the CF_OWNERDISPLAY format and an event occurs in the clipboard viewer's vertical scroll bar. The owner should scroll the clipboard image and update the scroll bar values.
The WM_SIZECLIPBOARD message is sent to the clipboard owner by a clipboard viewer window when the clipboard contains data in the CF_OWNERDISPLAY format and the clipboard viewer's client area has changed size.
The WM_ASKCBFORMATNAME message is sent to the clipboard owner by a clipboard viewer window to request the name of a CF_OWNERDISPLAY clipboard format.
The WM_CHANGECBCHAIN message is sent to the first window in the clipboard viewer chain when a window is being removed from the chain.
The WM_HSCROLLCLIPBOARD message is sent to the clipboard owner by a clipboard viewer window. This occurs when the clipboard contains data in the CF_OWNERDISPLAY format and an event occurs in the clipboard viewer's horizontal scroll bar. The owner should scroll the clipboard image and update the scroll bar values.
This message informs a window that it is about to receive the keyboard focus, giving the window the opportunity to realize its logical palette when it receives the focus.
The WM_PALETTEISCHANGING message informs applications that an application is going to realize its logical palette.
This message is sent by the OS to all top-level and overlapped windows after the window with the keyboard focus realizes its logical palette.
This message enables windows that do not have the keyboard focus to realize their logical palettes and update their client areas.
The WM_HOTKEY message is posted when the user presses a hot key registered by the RegisterHotKey function. The message is placed at the top of the message queue associated with the thread that registered the hot key.
The WM_PRINT message is sent to a window to request that it draw itself in the specified device context, most commonly in a printer device context.
The WM_PRINTCLIENT message is sent to a window to request that it draw its client area in the specified device context, most commonly in a printer device context.
The WM_APPCOMMAND message notifies a window that the user generated an application command event, for example, by clicking an application command button using the mouse or typing an application command key on the keyboard.
The WM_THEMECHANGED message is broadcast to every window following a theme change event. Examples of theme change events are the activation of a theme, the deactivation of a theme, or a transition from one theme to another.
Sent when the contents of the clipboard have changed.
The system will send a window the WM_DWMCOMPOSITIONCHANGED message to indicate that the availability of desktop composition has changed.
WM_DWMNCRENDERINGCHANGED is called when the non-client area rendering status of a window has changed. Only windows that have set the flag DWM_BLURBEHIND.fTransitionOnMaximized to true will get this message.
Sent to all top-level windows when the colorization color has changed.
WM_DWMWINDOWMAXIMIZEDCHANGE will let you know when a DWM composed window is maximized. You also have to register for this message as well. You'd have other windowd go opaque when this message is sent.
Sent to request extended title bar information. A window receives this message through its WindowProc function.
The WM_APP constant is used by applications to help define private messages, usually of the form WM_APP+X, where X is an integer value.
The WM_USER constant is used by applications to help define private messages for use by private window classes, usually of the form WM_USER+X, where X is an integer value.
An application sends the WM_CPL_LAUNCH message to Windows Control Panel to request that a Control Panel application be started.
The WM_CPL_LAUNCHED message is sent when a Control Panel application, started by the WM_CPL_LAUNCH message, has closed. The WM_CPL_LAUNCHED message is sent to the window identified by the wParam parameter of the WM_CPL_LAUNCH message that started the application.
WM_SYSTIMER is a well-known yet still undocumented message. Windows uses WM_SYSTIMER for internal actions like scrolling.
The window has a thin-line border.
The window has a title bar (includes the WS_BORDER style).
The window is a child window. A window with this style cannot have a menu bar. This style cannot be used with the WS_POPUP style.
Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window.
Clips child windows relative to each other; that is, when a particular child window receives a WM_PAINT message, the WS_CLIPSIBLINGS style clips all other overlapping child windows out of the region of the child window to be updated.
If WS_CLIPSIBLINGS is not specified and child windows overlap, it is possible, when drawing within the client area of a child window, to draw within the client area of a neighboring child window.
The window is initially disabled. A disabled window cannot receive input from the user. To change this after a window has been created, use the EnableWindow function.
The window has a border of a style typically used with dialog boxes. A window with this style cannot have a title bar.
The window is the first control of a group of controls. The group consists of this first control and all controls defined after it, up to the next control with the WS_GROUP style.
The first control in each group usually has the WS_TABSTOP style so that the user can move from group to group. The user can subsequently change the keyboard focus from one control in the group to the next control in the group by using the direction keys.
You can turn this style on and off to change dialog box navigation. To change this style after a window has been created, use the SetWindowLong function.
The window has a horizontal scroll bar.
The window is initially maximized.
The window has a maximize button. Cannot be combined with the WS_EX_CONTEXTHELP style. The WS_SYSMENU style must also be specified.
The window is initially minimized.
The window has a minimize button. Cannot be combined with the WS_EX_CONTEXTHELP style. The WS_SYSMENU style must also be specified.
The window is an overlapped window. An overlapped window has a title bar and a border.
The window is an overlapped window.
The window is a pop-up window. This style cannot be used with the WS_CHILD style.
The window is a pop-up window. The WS_CAPTION and WS_POPUPWINDOW styles must be combined to make the window menu visible.
The window has a sizing border.
The window has a window menu on its title bar. The WS_CAPTION style must also be specified.
The window is a control that can receive the keyboard focus when the user presses the TAB key.
Pressing the TAB key changes the keyboard focus to the next control with the WS_TABSTOP style.
You can turn this style on and off to change dialog box navigation. To change this style after a window has been created, use the SetWindowLong function.
For user-created windows and modeless dialogs to work with tab stops, alter the message loop to call the IsDialogMessage function.
The window is initially visible. This style can be turned on and off by using the ShowWindow or SetWindowPos function.
The window has a vertical scroll bar.
Specifies that a window created with this style accepts drag-drop files.
Forces a top-level window onto the taskbar when the window is visible.
Specifies that a window has a border with a sunken edge.
Windows XP: Paints all descendants of a window in bottom-to-top painting order using double-buffering. For more information, see Remarks. This cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC.
Includes a question mark in the title bar of the window. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a child window, the child receives a WM_HELP message. The child window should pass the message to the parent window procedure, which should call the WinHelp function using the HELP_WM_HELP command. The Help application displays a pop-up window that typically contains help for the child window.
WS_EX_CONTEXTHELP cannot be used with the WS_MAXIMIZEBOX or WS_MINIMIZEBOX styles.
The window itself contains child windows that should take part in dialog box navigation. If this style is specified, the dialog manager recurses into children of this window when performing navigation operations such as handling the TAB key, an arrow key, or a keyboard mnemonic.
Creates a window that has a double border; the window can, optionally, be created with a title bar by specifying the WS_CAPTION style in the dwStyle parameter.
Windows 2000/XP: Creates a layered window. Note that this cannot be used for child windows. Also, this cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC.
Arabic and Hebrew versions of Windows 98/Me, Windows 2000/XP: Creates a window whose horizontal origin is on the right edge. Increasing horizontal values advance to the left.
Creates a window that has generic left-aligned properties. This is the default.
If the shell language is Hebrew, Arabic, or another language that supports reading order alignment, the vertical scroll bar (if present) is to the left of the client area. For other languages, the style is ignored.
The window text is displayed using left-to-right reading-order properties. This is the default.
Creates a multiple-document interface (MDI) child window.
Windows 2000/XP: A top-level window created with this style does not become the foreground window when the user clicks it. The system does not bring this window to the foreground when the user minimizes or closes the foreground window.
To activate the window, use the SetActiveWindow or SetForegroundWindow function.
The window does not appear on the taskbar by default. To force the window to appear on the taskbar, use the WS_EX_APPWINDOW style.
Windows 2000/XP: A window created with this style does not pass its window layout to its child windows.
Specifies that a child window created with this style does not send the WM_PARENTNOTIFY message to its parent window when it is created or destroyed.
Combines the WS_EX_CLIENTEDGE and WS_EX_WINDOWEDGE styles.
Combines the WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW, and WS_EX_TOPMOST styles.
The window has generic "right-aligned" properties. This depends on the window class. This style has an effect only if the shell language is Hebrew, Arabic, or another language that supports reading-order alignment; otherwise, the style is ignored.
Using the WS_EX_RIGHT style for static or edit controls has the same effect as using the SS_RIGHT or ES_RIGHT style, respectively. Using this style with button controls has the same effect as using BS_RIGHT and BS_RIGHTBUTTON styles.
Vertical scroll bar (if present) is to the right of the client area. This is the default.
If the shell language is Hebrew, Arabic, or another language that supports reading-order alignment, the window text is displayed using right-to-left reading-order properties. For other languages, the style is ignored.
Creates a window with a three-dimensional border style intended to be used for items that do not accept user input.
Creates a tool window; that is, a window intended to be used as a floating toolbar. A tool window has a title bar that is shorter than a normal title bar, and the window title is drawn using a smaller font. A tool window does not appear in the taskbar or in the dialog that appears when the user presses ALT+TAB. If a tool window has a system menu, its icon is not displayed on the title bar. However, you can display the system menu by right-clicking or by typing ALT+SPACE.
Specifies that a window created with this style should be placed above all non-topmost windows and should stay above them, even when the window is deactivated. To add or remove this style, use the SetWindowPos function.
Specifies that a window created with this style should not be painted until siblings beneath the window (that were created by the same thread) have been painted. The window appears transparent because the bits of underlying sibling windows have already been painted.
To achieve transparency without these restrictions, use the SetWindowRgn function.
Specifies that a window has a border with a raised edge.
Hides the window and activates another window.
Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.
Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.
Activates the window and displays it as a minimized window.
Activates the window and displays it as a maximized window.
Maximizes the specified window.
Displays a window in its most recent size and position. This value is similar to , except the window is not activated.
Activates the window and displays it in its current size and position.
Minimizes the specified window and activates the next top-level window in the z-order.
Displays the window as a minimized window. This value is similar to , except the window is not activated.
Displays the window in its current size and position. This value is similar to , except the window is not activated.
Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window.
Invalidates the rectangle or region that you specify in lprcUpdate or hrgnUpdate.
You can set only one of these parameters to a non-NULL value. If both are NULL, RDW_INVALIDATE invalidates the entire window.
Causes the OS to post a WM_PAINT message to the window regardless of whether a portion of the window is invalid.
Causes the window to receive a WM_ERASEBKGND message when the window is repainted.
Specify this value in combination with the RDW_INVALIDATE value; otherwise, RDW_ERASE has no effect.
Validates the rectangle or region that you specify in lprcUpdate or hrgnUpdate.
You can set only one of these parameters to a non-NULL value. If both are NULL, RDW_VALIDATE validates the entire window.
This value does not affect internal WM_PAINT messages.
Suppresses any pending WM_ERASEBKGND messages.
Excludes child windows, if any, from the repainting operation.
Includes child windows, if any, in the repainting operation.
Causes the affected windows, which you specify by setting the RDW_ALLCHILDREN and RDW_NOCHILDREN values, to receive WM_ERASEBKGND and WM_PAINT messages before the RedrawWindow returns, if necessary.
Causes the affected windows, which you specify by setting the RDW_ALLCHILDREN and RDW_NOCHILDREN values, to receive WM_ERASEBKGND messages before RedrawWindow returns, if necessary.
The affected windows receive WM_PAINT messages at the ordinary time.
Determine if 2 RECT are equal (deep compare)
Return the HashCode for this struct (not garanteed to be unique)
http://msdn.microsoft.com/en-us/library/ms182161.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633572%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/dd144901%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/dd145064%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633545(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms647486%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633528(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms647985(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms648003(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms644944(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms684175%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms683152%28v=vs.85%29.aspx
Sets the show state and the restored, minimized, and maximized positions of the specified window.
A handle to the window.
A pointer to a WINDOWPLACEMENT structure that specifies the new show state and window positions.
Before calling SetWindowPlacement, set the length member of the WINDOWPLACEMENT structure to sizeof(WINDOWPLACEMENT). SetWindowPlacement fails if the length member is not set correctly.
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Retrieves the show state and the restored, minimized, and maximized positions of the specified window.
A handle to the window.
A pointer to the WINDOWPLACEMENT structure that receives the show state and position information.
Before calling GetWindowPlacement, set the length member to sizeof(WINDOWPLACEMENT). GetWindowPlacement fails if lpwndpl-> length is not set correctly.
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
An object that represents the foreground color for a Metro .
The ResourceDictionary that represents this Accent.
Gets/sets the name of the Accent.
Initializes a new instance of the MahApps.Metro.Accent class.
Initializes a new instance of the MahApps.Metro.Accent class.
The name of the new Accent.
The URI of the accent ResourceDictionary.
Represents the background theme of the application.
The ResourceDictionary that represents this application theme.
Gets the name of the application theme.
A class that allows for the detection and alteration of a MetroWindow's theme and accent.
Gets a list of all of default themes.
Gets a list of all of default metro themes.
Adds an accent with the given name.
true if the accent does not exists and can be added.
Adds an app theme with the given name.
true if the app theme does not exists and can be added.
Gets app theme with the given resource dictionary.
AppTheme
Gets app theme with the given name and theme type (light or dark).
AppTheme
Gets the inverse of the given .
This method relies on the "Dark" or "Light" affix to be present.
The app theme.
The inverse or null if it couldn't be found.
Returns BaseLight, if BaseDark is given or vice versa.
Custom Themes must end with "Dark" or "Light" for this to work, for example "CustomDark" and "CustomLight".
Gets the with the given name.
The or null, if the app theme wasn't found
Gets the with the given resource dictionary.
The or null, if the accent wasn't found.
Determines whether the specified resource dictionary represents an .
This might include runtime accents which do not have a resource uri.
The resources.
true if the resource dictionary is an ; otherwise, false.
resources
Gets a resource from the detected AppStyle.
The window to check. If this is null, the Application's sources will be checked.
The key to check against.
The resource object or null, if the resource wasn't found.
Change the theme for the whole application.
Change theme for the given window.
Change accent and theme for the whole application.
The instance of Application to change.
The accent to apply.
The theme to apply.
Change accent and theme for the given window.
The Window to change.
The accent to apply.
The theme to apply.
Changes the accent and theme of a ResourceDictionary directly.
The ResourceDictionary to modify.
The accent to apply to the ResourceDictionary.
The theme to apply to the ResourceDictionary.
Copies all resource keys from one resource to another.
The source resource dictionary.
The destination resource dictionary.
fromRD
or
toRD
Scans the window resources and returns it's accent and theme.
Scans the window resources and returns it's accent and theme.
The Window to scan.
Scans the application resources and returns it's accent and theme.
The Application instance to scan.
Scans a resources and returns it's accent and theme.
The ResourceDictionary to check.
This event fires if accent color and theme was changed
this should be using the weak event pattern, but for now it's enough
Invalidates global colors and resources.
Sometimes the ContextMenu is not changing the colors, so this will fix it.
IID_IApplicationAssociationRegistration
IID_IConnectionPoint
IID_IConnectionPointContainer
IID_IEnumConnectionPoints
IID_IEnumConnections
IID_IEnumIDList
IID_IEnumObjects
IID_IFileDialog
IID_IFileDialogEvents
IID_IFileOpenDialog
IID_IFileSaveDialog
IID_IHTMLDocument
IID_IHTMLDocument2
IID_IModalWindow
IID_IObjectArray
IID_IObjectCollection
IID_IPropertyNotifySink
IID_IPropertyStore
IID_IServiceProvider
IID_IShellFolder
IID_IShellLink
IID_IShellItem
IID_IShellItem2
IID_IShellItemArray
IID_ITaskbarList
IID_ITaskbarList2
IID_IUnknown
IID_IWebBrowser2
DIID_DWebBrowserEvents
IID_DWebBrowserEvents2
IID_IWICBitmapDecoder
IID_IWICBitmapFlipRotator
IID_IWICBitmapFrameDecode
IID_IWICBitmap
IID_IWICBitmapSource
IID_IWICFormatConverter
IID_IWICImagingFactory
IID_IWICStream
IID_IApplicationDestinations
IID_IApplicationDocumentLists
IID_ICustomDestinationList
IID_IObjectWithAppUserModelID
IID_IObjectWithProgID
IID_ITaskbarList3
IID_ITaskbarList4
SID_SWebBrowserApp
CLSID_ApplicationAssociationRegistration
IID_IApplicationAssociationRegistration
CLSID_DragDropHelper
CLSID_FileOpenDialog
IID_IFileOpenDialog
CLSID_FileSaveDialog
IID_IFileSaveDialog
CLSID_TaskbarList
IID_ITaskbarList
CLSID_EnumerableObjectCollection
IID_IEnumObjects.
CLSID_ShellLink
IID_IShellLink
CLSID_WICImagingFactory
CLSID_DestinationList
IID_ICustomDestinationList
CLSID_ApplicationDestinations
IID_IApplicationDestinations
CLSID_ApplicationDocumentLists
IID_IApplicationDocumentLists
A static class for verifying assumptions.
A function signature for Assert.Evaluate.
A function signature for Assert.Implies.
Returns the truth of a predicate.
Executes the specified argument.
The function to execute.
Obsolete: Use Standard.Assert.AreEqual instead of Assert.Equals
The generic type to compare for equality.
The first generic type data to compare. This is is the expected value.
The second generic type data to compare. This is the actual value.
Verifies that two generic type data are equal. The assertion fails if they are not.
The generic type to compare for equality.
The first generic type data to compare. This is is the expected value.
The second generic type data to compare. This is the actual value.
This breaks into the debugger in the case of a failed assertion.
Verifies that two generic type data are not equal. The assertion fails if they are.
The generic type to compare for inequality.
The first generic type data to compare. This is is the value that's not expected.
The second generic type data to compare. This is the actual value.
This breaks into the debugger in the case of a failed assertion.
Verifies that if the specified condition is true, then so is the result.
The assertion fails if the condition is true but the result is false.
if set to true [condition].
A second Boolean statement. If the first was true then so must this be.
If the first statement was false then the value of this is ignored.
This breaks into the debugger in the case of a failed assertion.
Lazy evaluation overload. Verifies that if a condition is true, then so is a secondary value.
The conditional value.
A function to be evaluated for truth if the condition argument is true.
This overload only evaluates the result if the first condition is true.
Verifies that a string has content. I.e. it is not null and it is not empty.
The string to verify.
Verifies that a string has content. I.e. it is not null and it is not purely whitespace.
The string to verify.
Verifies the specified value is not null. The assertion fails if it is.
The generic reference type.
The value to check for nullness.
This breaks into the debugger in the case of a failed assertion.
Verifies that the specified condition is false. The assertion fails if it is true.
The expression that should be false.
This breaks into the debugger in the case of a failed assertion.
Verifies that the specified condition is false. The assertion fails if it is true.
The expression that should be false.
The message to display if the condition is true.
This breaks into the debugger in the case of a failed assertion.
Verifies that the specified condition is true. The assertion fails if it is not.
A condition that is expected to be true.
This breaks into the debugger in the case of a failed assertion.
Verifies that the specified condition is true. The assertion fails if it is not.
A condition that is expected to be true.
The message to write in case the condition is false.
This breaks into the debugger in the case of a failed assertion.
This line should never be executed. The assertion always fails.
This breaks into the debugger in the case of a failed assertion.
This line should never be executed. The assertion always fails.
The message to display if this function is executed.
This breaks into the debugger in the case of a failed assertion.
Verifies that the specified object is null. The assertion fails if it is not.
The item to verify is null.
Verifies that the specified value is within the expected range. The assertion fails if it isn't.
The lower bound inclusive value.
The value to verify.
The upper bound inclusive value.
Verifies that the specified value is within the expected range. The assertion fails if it isn't.
The lower bound inclusive value.
The value to verify.
The upper bound exclusive value.
Verify the current thread's apartment state is what's expected. The assertion fails if it isn't
The expected apartment state for the current thread.
This breaks into the debugger in the case of a failed assertion.
DoubleUtil uses fixed eps to provide fuzzy comparison functionality for doubles.
Note that FP noise is a big problem and using any of these compare
methods is not a complete solution, but rather the way to reduce
the probability of repeating unnecessary work.
Epsilon - more or less random, more or less small number.
AreClose returns whether or not two doubles are "close". That is, whether or
not they are within epsilon of each other.
There are plenty of ways for this to return false even for numbers which
are theoretically identical, so no code calling this should fail to work if this
returns false.
The first double to compare.
The second double to compare.
The result of the AreClose comparision.
LessThan returns whether or not the first double is less than the second double.
That is, whether or not the first is strictly less than *and* not within epsilon of
the other number.
There are plenty of ways for this to return false even for numbers which
are theoretically identical, so no code calling this should fail to work if this
returns false.
The first double to compare.
The second double to compare.
The result of the LessThan comparision.
GreaterThan returns whether or not the first double is greater than the second double.
That is, whether or not the first is strictly greater than *and* not within epsilon of
the other number.
There are plenty of ways for this to return false even for numbers which
are theoretically identical, so no code calling this should fail to work if this
returns false.
The first double to compare.
The second double to compare.
The result of the GreaterThan comparision.
LessThanOrClose returns whether or not the first double is less than or close to
the second double. That is, whether or not the first is strictly less than or within
epsilon of the other number.
There are plenty of ways for this to return false even for numbers which
are theoretically identical, so no code calling this should fail to work if this
returns false.
The first double to compare.
The second double to compare.
The result of the LessThanOrClose comparision.
GreaterThanOrClose returns whether or not the first double is greater than or close to
the second double. That is, whether or not the first is strictly greater than or within
epsilon of the other number.
There are plenty of ways for this to return false even for numbers which
are theoretically identical, so no code calling this should fail to work if this
returns false.
The first double to compare.
The second double to compare.
The result of the GreaterThanOrClose comparision.
Test to see if a double is a finite number (is not NaN or Infinity).
The value to test.
Whether or not the value is a finite number.
Test to see if a double a valid size value (is finite and > 0).
The value to test.
Whether or not the value is a valid size value.
Convert a point in device independent pixels (1/96") to a point in the system coordinates.
A point in the logical coordinate system.
Returns the parameter converted to the system's coordinates.
Convert a point in system coordinates to a point in device independent pixels (1/96").
A point in the physical coordinate system.
Returns the parameter converted to the device independent coordinate system.
Wrapper for common Win32 status codes.
The operation completed successfully.
Incorrect function.
The system cannot find the file specified.
The system cannot find the path specified.
The system cannot open the file.
Access is denied.
The handle is invalid.
Not enough storage is available to complete this operation.
There are no more files.
The process cannot access the file because it is being used by another process.
The parameter is incorrect.
The data area passed to a system call is too small.
Cannot nest calls to LoadModule.
Illegal operation attempted on a registry key that has been marked for deletion.
Element not found.
There was no match for the specified key in the index.
An invalid device was specified.
The operation was canceled by the user.
Cannot find window class.
The window class was already registered.
The specified datatype is invalid.
Create a new Win32 error.
The integer value of the error.
Performs HRESULT_FROM_WIN32 conversion.
The Win32 error being converted to an HRESULT.
The equivilent HRESULT value.
Performs HRESULT_FROM_WIN32 conversion.
The equivilent HRESULT value.
Performs the equivalent of Win32's GetLastError()
A Win32Error instance with the result of the native GetLastError
Compare two Win32 error codes for equality.
The first error code to compare.
The second error code to compare.
Whether the two error codes are the same.
Compare two Win32 error codes for inequality.
The first error code to compare.
The second error code to compare.
Whether the two error codes are not the same.
FACILITY_NULL
FACILITY_RPC
FACILITY_DISPATCH
FACILITY_STORAGE
FACILITY_ITF
FACILITY_WIN32
FACILITY_WINDOWS
FACILITY_CONTROL
MSDN doced facility code for ESE errors.
FACILITY_WINCODEC (WIC)
Wrapper for HRESULT status codes.
S_OK
S_FALSE
E_PENDING
E_NOTIMPL
E_NOINTERFACE
E_POINTER
E_ABORT
E_FAIL
E_UNEXPECTED
STG_E_INVALIDFUNCTION
REGDB_E_CLASSNOTREG
DESTS_E_NO_MATCHING_ASSOC_HANDLER. Win7 internal error code for Jump Lists.
There is no Assoc Handler for the given item registered by the specified application.
DESTS_E_NORECDOCS. Win7 internal error code for Jump Lists.
The given item is excluded from the recent docs folder by the NoRecDocs bit on its registration.
DESTS_E_NOTALLCLEARED. Win7 internal error code for Jump Lists.
Not all of the items were successfully cleared
E_ACCESSDENIED
Win32Error ERROR_ACCESS_DENIED.
E_OUTOFMEMORY
Win32Error ERROR_OUTOFMEMORY.
E_INVALIDARG
Win32Error ERROR_INVALID_PARAMETER.
INTSAFE_E_ARITHMETIC_OVERFLOW
COR_E_OBJECTDISPOSED
WC_E_GREATERTHAN
WC_E_SYNTAX
Create an HRESULT from an integer value.
Convert an HRESULT to an int. Used for COM interface declarations out of our control.
retrieve HRESULT_FACILITY
retrieve HRESULT_CODE
Get a string representation of this HRESULT.
Convert the result of Win32 GetLastError() into a raised exception.
HIGHCONTRAST flags
DROPIMAGE_*
BITMAPINFOHEADER Compression type. BI_*.
CombingRgn flags. RGN_*
Creates the intersection of the two combined regions.
Creates the union of two combined regions.
Creates the union of two combined regions except for any overlapping areas.
Combines the parts of hrgnSrc1 that are not part of hrgnSrc2.
Creates a copy of the region identified by hrgnSrc1.
For IWebBrowser2. OLECMDEXECOPT_*
For IWebBrowser2. OLECMDF_*
For IWebBrowser2. OLECMDID_*
For IWebBrowser2. READYSTATE_*
DATAOBJ_GET_ITEM_FLAGS. DOGIF_*.
Use the system default, which is to display all error dialog boxes.
The system does not display the critical-error-handler message box.
Instead, the system sends the error to the calling process.
64-bit Windows: The system automatically fixes memory alignment faults and makes them
invisible to the application. It does this for the calling process and any descendant processes.
After this value is set for a process, subsequent attempts to clear the value are ignored.
The system does not display the general-protection-fault message box.
This flag should only be set by debugging applications that handle general
protection (GP) faults themselves with an exception handler.
The system does not display a message box when it fails to find a file.
Instead, the error is returned to the calling process.
Non-client hit test values, HT*
GetClassLongPtr values, GCLP_*
GetWindowLongPtr values, GWL_*
SystemMetrics. SM_*
SystemParameterInfo values, SPI_*
SystemParameterInfo flag values, SPIF_*
CS_*
WindowStyle values, WS_*
Window message values, WM_*
Window style extended values, WS_EX_*
GetDeviceCaps nIndex values.
Number of bits per pixel
Number of planes
Logical pixels inch in X
Logical pixels inch in Y
"FILEOP_FLAGS", FOF_*.
EnableMenuItem uEnable values, MF_*
Possible return value for EnableMenuItem
Specifies the type of visual style attribute to set on a window.
Non-client area window attributes will be set.
DWMFLIP3DWINDOWPOLICY. DWMFLIP3D_*
DWMNCRENDERINGPOLICY. DWMNCRP_*
DWMWINDOWATTRIBUTE. DWMWA_*
WindowThemeNonClientAttributes
Prevents the window caption from being drawn.
Prevents the system icon from being drawn.
Prevents the system icon menu from appearing.
Prevents mirroring of the question mark, even in right-to-left (RTL) layout.
A mask that contains all the valid bits.
SetWindowPos options
ShowWindow options
SCF_ISSECURE
GDI+ Status codes
MSGFLT_*. New in Vista. Realiased in Windows 7.
Shell_NotifyIcon messages. NIM_*
SHAddToRecentDocuments flags. SHARD_*
Shell_NotifyIcon flags. NIF_*
Vista only.
Vista only.
Shell_NotifyIcon info flags. NIIF_*
XP SP2 and later.
XP and later.
Vista and later.
Windows 7 and later
XP and later. Native version called NIIF_ICON_MASK.
AC_*
The state of the icon. There are two flags that can be set independently.
NIS_HIDDEN = 1. The icon is hidden.
NIS_SHAREDICON = 2. The icon is shared.
The idlist for the shell item that should be added to the recent docs folder.
The id of the application that should be associated with this recent doc.
Defines options that are used to set window visual style attributes.
A combination of flags that modify window visual style attributes.
Can be a combination of the WTNCA constants.
A bitmask that describes how the values specified in dwFlags should be applied.
If the bit corresponding to a value in dwFlags is 0, that flag will be removed.
If the bit is 1, the flag will be added.
Width of left border that retains its size.
Width of right border that retains its size.
Height of top border that retains its size.
Height of bottom border that retains its size.
initialize this field using: Marshal.SizeOf(typeof(APPBARDATA));
Delegate declaration that matches native WndProc signatures.
Delegate declaration that matches managed WndProc signatures.
Sets attributes to control how visual styles are applied to a specified window.
Handle to a window to apply changes to.
Value of type WINDOWTHEMEATTRIBUTETYPE that specifies the type of attribute to set.
The value of this parameter determines the type of data that should be passed in the pvAttribute parameter.
Can be the following value:
WTA_NONCLIENT (Specifies non-client related attributes).
pvAttribute must be a pointer of type WTA_OPTIONS.
A pointer that specifies attributes to set. Type is determined by the value of the eAttribute value.
Specifies the size, in bytes, of the data pointed to by pvAttribute.
Overload of SystemParametersInfo for getting and setting NONCLIENTMETRICS.
Overload of SystemParametersInfo for getting and setting HIGHCONTRAST.
Sets the User Model AppID for the current process, enabling Windows to retrieve this ID
Retrieves the User Model AppID that has been explicitly set for the current process via SetCurrentProcessExplicitAppUserModelID
ASSOCIATIONLEVEL, AL_*
ASSOCIATIONTYPE, AT_*
FileDialog AddPlace options. FDAP_*
IFileDialog options. FOS_*
FDE_OVERWRITE_RESPONSE. FDEOR_*
FDE_SHAREVIOLATION_RESPONSE. FDESVR_*
ShellItem attribute flags. SIATTRIBFLAGS_*
Flags for SetTabProperties. STPF_*
The native enum was called STPFLAG.
Flags for Setting Taskbar Progress state. TBPF_*
The native enum was called TBPFLAG.
THUMBBUTTON mask. THB_*
THUMBBUTTON flags. THBF_*
GetPropertyStoreFlags. GPS_*.
These are new for Vista, but are used in downlevel components
KNOWNDESTCATEGORY. KDC_*
Objects can be copied
DROPEFFECT_COPY
Objects can be moved
DROPEFFECT_MOVE
Objects can be linked
DROPEFFECT_LINK.
If this bit is set on an item in the shell folder, a
'Create Shortcut' menu item will be added to the File
menu and context menus for the item. If the user selects
that command, your IContextMenu::InvokeCommand() will be called
with 'link'.
That flag will also be used to determine if 'Create Shortcut'
should be added when the item in your folder is dragged to another
folder.
supports BindToObject(IID_IStorage)
Objects can be renamed
Objects can be deleted
Objects have property sheets
Objects are drop target
Object is encrypted (use alt color)
'Slow' object
Ghosted icon
Shortcut (link)
Shared
Read-only
Hidden object
May contain children with SFGAO_FILESYSTEM
Support BindToObject(IID_IShellFolder)
Is a win32 file system object (file/folder/root)
May contain children with SFGAO_FOLDER (may be slow)
Invalidate cached information (may be slow)
Is this removeable media?
Object is compressed (use alt color)
Supports IShellFolder, but only implements CreateViewObject() (non-folder view)
Is a non-enumerated object (should be hidden)
Should show bold in explorer tree
Obsolete
Obsolete
Supports BindToObject(IID_IStream)
May contain children with SFGAO_STORAGE or SFGAO_STREAM
For determining storage capabilities, ie for open/save semantics
Attributes that are masked out for PKEY_SFGAOFlags because they are considered
to cause slow calculations or lack context
(SFGAO_VALIDATE | SFGAO_ISSLOW | SFGAO_HASSUBFOLDER and others)
IShellFolder::EnumObjects grfFlags bits. Also called SHCONT
IShellFolder::GetDisplayNameOf/SetNameOf uFlags. Also called SHGDNF.
For compatibility with SIGDN, these bits must all sit in the LOW word.
SHELLITEMCOMPAREHINTF. SICHINT_*.
iOrder based on display in a folder view
exact instance compare
iOrder based on canonical name (better performance)
ShellItem enum. SIGDN_*.
STR_GPS_*
When requesting a property store through IShellFolder, you can specify the equivalent of
GPS_DEFAULT by passing in a null IBindCtx parameter.
You can specify the equivalent of GPS_READWRITE by passing a mode of STGM_READWRITE | STGM_EXCLUSIVE
in the bind context
Here are the string versions of GPS_ flags, passed to IShellFolder::BindToObject() via IBindCtx::RegisterObjectParam()
These flags are valid when requesting an IPropertySetStorage or IPropertyStore handler
The meaning of these flags are described above.
There is no STR_ equivalent for GPS_TEMPORARY because temporary property stores
are provided by IShellItem2 only -- not by the underlying IShellFolder.
WPARAM value for a THUMBBUTTON being clicked.
fmtid
pid
PKEY_Title
PKEY_AppUserModel_ID
PKEY_AppUserModel_IsDestListSeparator
PKEY_AppUserModel_RelaunchCommand
PKEY_AppUserModel_RelaunchDisplayNameResource
PKEY_AppUserModel_RelaunchIconResource
Unknown Object Array
Shell Namespace helper
Shell Namespace helper 2
This function must be called first to validate use of other members.
This function adds a tab for hwnd to the taskbar.
The HWND for which to add the tab.
This function deletes a tab for hwnd from the taskbar.
The HWND for which the tab is to be deleted.
This function activates the tab associated with hwnd on the taskbar.
The HWND for which the tab is to be actuvated.
This function marks hwnd in the taskbar as the active tab.
The HWND to activate.
Marks a window as full-screen.
The handle of the window to be marked.
A Boolean value marking the desired full-screen status of the window.
Setting the value of fFullscreen to true, the Shell treats this window as a full-screen window, and the taskbar
is moved to the bottom of the z-order when this window is active. Setting the value of fFullscreen to false
removes the full-screen marking, but does not cause the Shell to treat the window as though it were
definitely not full-screen. With a false fFullscreen value, the Shell depends on its automatic detection facility
to specify how the window should be treated, possibly still flagging the window as full-screen.
Allows an application to retrieve the most recent and frequent documents opened in that app, as reported via SHAddToRecentDocs
Set the App User Model ID for the application retrieving this list. If an AppID is not provided via this method,
the system will use a heuristically determined ID. This method must be called before GetList.
App Id.
Retrieve an IEnumObjects or IObjectArray for IShellItems and/or IShellLinks.
Items may appear in both the frequent and recent lists.
Provides access to the App User Model ID on objects supporting this value.
Provides access to the ProgID associated with an object
Wraps an IStream interface pointer from COM into a form consumable by .Net.
This implementation is immutable, though it's possible that the underlying
stream can be changed in another context.
Wraps a native IStream interface into a CLR Stream subclass.
The stream that this object wraps.
Note that the parameter is passed by ref. On successful creation it is
zeroed out to the caller. This object becomes responsible for the lifetime
management of the wrapped IStream.
Wraps a managed stream instance into an interface pointer consumable by COM.
Initializes a new instance of the ManagedIStream class with the specified managed Stream object.
The stream that this IStream reference is wrapping.
Creates a new stream object with its own seek pointer that
references the same bytes as the original stream.
When this method returns, contains the new stream object. This parameter is passed uninitialized.
For more information, see the existing documentation for IStream::Clone in the MSDN library.
This class doesn't implement Clone. A COMException is thrown if it is used.
Ensures that any changes made to a stream object that is open in transacted
mode are reflected in the parent storage.
A value that controls how the changes for the stream object are committed.
For more information, see the existing documentation for IStream::Commit in the MSDN library.
Copies a specified number of bytes from the current seek pointer in the
stream to the current seek pointer in another stream.
A reference to the destination stream.
The number of bytes to copy from the source stream.
On successful return, contains the actual number of bytes read from the source.
(Note the native signature is to a ULARGE_INTEGER*, so 64 bits are written
to this parameter on success.)
On successful return, contains the actual number of bytes written to the destination.
(Note the native signature is to a ULARGE_INTEGER*, so 64 bits are written
to this parameter on success.)
Restricts access to a specified range of bytes in the stream.
The byte offset for the beginning of the range.
The length of the range, in bytes, to restrict.
The requested restrictions on accessing the range.
For more information, see the existing documentation for IStream::LockRegion in the MSDN library.
This class doesn't implement LockRegion. A COMException is thrown if it is used.
Reads a specified number of bytes from the stream object into memory starting at the current seek pointer.
When this method returns, contains the data read from the stream. This parameter is passed uninitialized.
The number of bytes to read from the stream object.
A pointer to a ULONG variable that receives the actual number of bytes read from the stream object.
For more information, see the existing documentation for ISequentialStream::Read in the MSDN library.
Discards all changes that have been made to a transacted stream since the last Commit call.
This class doesn't implement Revert. A COMException is thrown if it is used.
Changes the seek pointer to a new location relative to the beginning of the
stream, to the end of the stream, or to the current seek pointer.
The displacement to add to dwOrigin.
The origin of the seek. The origin can be the beginning of the file, the current seek pointer, or the end of the file.
On successful return, contains the offset of the seek pointer from the beginning of the stream.
(Note the native signature is to a ULARGE_INTEGER*, so 64 bits are written
to this parameter on success.)
For more information, see the existing documentation for IStream::Seek in the MSDN library.
Changes the size of the stream object.
The new size of the stream as a number of bytes.
For more information, see the existing documentation for IStream::SetSize in the MSDN library.
Retrieves the STATSTG structure for this stream.
When this method returns, contains a STATSTG structure that describes this stream object.
This parameter is passed uninitialized.
Members in the STATSTG structure that this method does not return, thus saving some memory allocation operations.
Removes the access restriction on a range of bytes previously restricted with the LockRegion method.
The byte offset for the beginning of the range.
The length, in bytes, of the range to restrict.
The access restrictions previously placed on the range.
For more information, see the existing documentation for IStream::UnlockRegion in the MSDN library.
This class doesn't implement UnlockRegion. A COMException is thrown if it is used.
Writes a specified number of bytes into the stream object starting at the current seek pointer.
The buffer to write this stream to.
The number of bytes to write to the stream.
On successful return, contains the actual number of bytes written to the stream object.
If the caller sets this pointer to null, this method does not provide the actual number
of bytes written.
Releases resources controlled by this object.
Dispose can be called multiple times, but trying to use the object
after it has been disposed will generally throw ObjectDisposedExceptions.
Wrapper around File.Copy to provide feedback as to whether the file wasn't copied because it didn't exist.
Simple guard against the exceptions that File.Delete throws on null and empty strings.
The path to delete. Unlike File.Delete, this can be null or empty.
Note that File.Delete, and by extension SafeDeleteFile, does not throw an exception
if the file does not exist.
Utility to help classes catenate their properties for implementing ToString().
The StringBuilder to catenate the results into.
The name of the property to be catenated.
The value of the property to be catenated.
Generates ToString functionality for a struct. This is an expensive way to do it,
it exists for the sake of debugging while classes are in flux.
Eventually this should just be removed and the classes should
do this without reflection.
Encodes a URL string. Duplicated functionality from System.Web.HttpUtility.UrlEncode.
Duplicated from System.Web.HttpUtility because System.Web isn't part of the client profile.
URL Encoding replaces ' ' with '+' and unsafe ASCII characters with '%XX'.
Safe characters are defined in RFC2396 (http://www.ietf.org/rfc/rfc2396.txt).
They are the 7-bit ASCII alphanumerics and the mark characters "-_.!~*'()".
This implementation does not treat '~' as a safe character to be consistent with the System.Web version.
GDI's DeleteObject
GDI+'s DisposeImage
From a list of BitmapFrames find the one that best matches the requested dimensions.
The methods used here are copied from Win32 sources. We want to be consistent with
system behaviors.
Convert a native integer that represent a color with an alpha channel into a Color struct.
The integer that represents the color. Its bits are of the format 0xAARRGGBB.
A Color representation of the parameter.
A static class for retail validated assertions.
Instead of breaking into the debugger an exception is thrown.
Ensure that the current thread's apartment state is what's expected.
The required apartment state for the current thread.
The message string for the exception to be thrown if the state is invalid.
Thrown if the calling thread's apartment state is not the same as the requiredState.
Ensure that an argument is neither null nor empty.
The string to validate.
The name of the parameter that will be presented if an exception is thrown.
Ensure that an argument is neither null nor does it consist only of whitespace.
The string to validate.
The name of the parameter that will be presented if an exception is thrown.
Verifies that an argument is not null.
Type of the object to validate. Must be a class.
The object to validate.
The name of the parameter that will be presented if an exception is thrown.
Verifies that an argument is not null.
Type of the object to validate. Must be a class.
The object to validate.
The name of the parameter that will be presented if an exception is thrown.
Verifies that an argument is null.
Type of the object to validate. Must be a class.
The object to validate.
The name of the parameter that will be presented if an exception is thrown.
Verifies the specified statement is true. Throws an ArgumentException if it's not.
The statement to be verified as true.
Name of the parameter to include in the ArgumentException.
The message to include in the ArgumentException.
Verifies that the specified value is within the expected range. The assertion fails if it isn't.
The lower bound inclusive value.
The value to verify.
The upper bound exclusive value.
The name of the parameter that caused the current exception.
Display the system menu at a specified location.
The MetroWindow
The location to display the system menu, in logical screen coordinates.
Private constructor. The public way to access this class is through the static Current property.
The extent of the top of the window to treat as the caption.
Dependency property for IgnoreTaskbarOnMaximize
If this property is true and the attached window's WindowStyle=None then when the window is maximized it will cover the entire
monitor, including the taskbar.
Is this using WPF4?
There are a few specific bugs in Window in 3.5SP1 and below that require workarounds
when handling WM_NCCALCSIZE on the HWND.
The Window that's chrome is being modified.
Underlying HWND for the _window.
Critical : Critical member
Underlying HWND for the _window.
Critical : Critical member provides access to HWND's window messages which are critical
Object that describes the current modifications being made to the chrome.
Critical : Store critical methods in critical callback table
Safe : Demands full trust permissions
Critical : Calls critical methods
Safe : Demands full trust permissions
Critical : Calls critical methods
Safe : Demands full trust permissions
Critical : Calls critical methods
Safe : Demands full trust permissions
Critical : Calls critical methods
Critical : Store critical methods in critical callback table
Safe : Demands full trust permissions
Critical : References critical methods
Critical : Store critical methods in critical callback table
Safe : Demands full trust permissions
Critical : Accesses critical _hwnd field
Safe : Demands full trust permissions
Critical : Calls critical methods
Critical : Calls critical methods
Critical : Store critical methods in critical callback table
Safe : Demands full trust permissions
Critical : Calls critical methods
Critical : Calls critical method
A borderless window lost his animation, with this we bring it back.
Critical : Accesses critical _hwnd
Critical : Calls critical methods
Critical : Calls critical methods
Critical : Calls critical methods
This method handles the window size if the taskbar is set to auto-hide.
Critical : Calls critical methods
Critical : Calls critical Marshal.PtrToStructure
Critical : Calls critical methods
Critical : Calls critical method
Critical : Calls critical method
Critical : Calls critical Marshal.PtrToStructure
Critical : Calls critical Marshal.PtrToStructure
Critical : Calls critical methods
Critical : Calls critical methods
Critical : Calls critical methods
Critical : Calls critical methods
Critical : Calls critical methods
Critical : Calls critical methods
Critical : Calls critical methods
Add and remove a native WindowStyle from the HWND.
The styles to be removed. These can be bitwise combined.
The styles to be added. These can be bitwise combined.
Whether the styles of the HWND were modified as a result of this call.
Critical : Calls critical methods
Get the WindowState as the native HWND knows it to be. This isn't necessarily the same as what Window thinks.
Critical : Calls critical methods
Get the bounding rectangle for the window in physical coordinates.
The bounding rectangle for the window.
Critical : Calls critical methods
Update the items in the system menu based on the current, or assumed, WindowState.
The state to assume that the Window is in. This can be null to query the Window's state.
We want to update the menu while we have some control over whether the caption will be repainted.
Critical : Calls critical methods
Critical : Calls critical methods
Critical : Calls critical methods
Critical : Calls critical methods
Critical : Calls critical methods
Critical : Calls critical methods
Critical : Calls critical methods
Critical : Calls critical methods
Matrix of the HT values to return when responding to NC window messages.
Critical : Calls critical methods
Critical : Unsubscribes event handler from critical _hwndSource
Critical : Unsubscribes critical event handler
Critical : Calls critical methods
Critical : Calls critical methods
GeneratedInternalTypeHelper
CreateInstance
GetPropertyValue
SetPropertyValue
CreateDelegate
AddEventHandler