From fa5b96f64dd9cb44eb7cca6b6189d19d1e0bba70 Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Thu, 2 May 2024 14:29:25 -0700 Subject: [PATCH 1/2] delete 404 links to samples --- .../ContentPresenter.xml | 337 +- .../ControlTemplate.xml | 252 +- .../FlowDocumentReaderViewingMode.xml | 31 +- xml/System.Windows.Controls/ItemsControl.xml | 1269 ++- xml/System.Windows.Controls/ListView.xml | 132 +- xml/System.Windows.Controls/Panel.xml | 301 +- .../DoubleAnimationUsingPath.xml | 169 +- .../PathAnimationSource.xml | 11 +- .../AmbientLight.xml | 85 +- .../ContainerUIElement3D.xml | 68 +- .../EmissiveMaterial.xml | 114 +- xml/System.Windows.Media.Media3D/Matrix3D.xml | 357 +- .../MeshGeometry3D.xml | 241 +- .../Model3DCollection.xml | 217 +- .../ModelUIElement3D.xml | 87 +- .../PerspectiveCamera.xml | 111 +- .../Point3DCollection.xml | 307 +- .../PointLight.xml | 72 +- .../Transform3DGroup.xml | 66 +- .../CompositionTarget.xml | 39 +- xml/System.Windows.Media/ImageBrush.xml | 130 +- xml/System.Windows.Media/TileMode.xml | 16 +- xml/System.Windows.Media/VisualBrush.xml | 233 +- xml/System.Windows/EventTrigger.xml | 168 +- xml/System.Windows/MultiTrigger.xml | 179 +- xml/System.Windows/Style.xml | 455 +- xml/System.Windows/Trigger.xml | 269 +- xml/System.Windows/TriggerBase.xml | 137 +- xml/System.Windows/UIElement3D.xml | 7432 ++++++++--------- 29 files changed, 6312 insertions(+), 6973 deletions(-) diff --git a/xml/System.Windows.Controls/ContentPresenter.xml b/xml/System.Windows.Controls/ContentPresenter.xml index e2389b5341f..289ec35f621 100644 --- a/xml/System.Windows.Controls/ContentPresenter.xml +++ b/xml/System.Windows.Controls/ContentPresenter.xml @@ -29,47 +29,46 @@ Displays the content of a . - in the of a to specify where the content is to be added. Every type has a in its default . - - When a object is in a of a , the , , and properties get their values from the properties of the same names of the . You can have the property get the values of these properties from other properties of the templated parent by setting the property or binding to them. - - The uses the following logic to display the : - -- If the property on the is set, the applies that to the property and the resulting and its child elements, if any, are displayed. For more information about objects, see [Data Templating Overview](/dotnet/framework/wpf/data/data-templating-overview). - -- If the property on the is set, the applies the appropriate to the property and the resulting and its child elements, if any, are displayed. - -- If there is a associated with the type of , the applies that to the property and the resulting and its child elements, if any, are displayed. - -- If is a object, the is displayed. If the already has a parent, an exception occurs. - -- If there is a that converts the type of to a , the uses that and the resulting is displayed. - -- If there is a that converts the type of to a string, the uses that and creates a to contain that string. The is displayed. - -- If the content is an , the value of the property is displayed in a . - -- The calls the method on the and creates a to contain the string returned by . The is displayed. - - - -## Examples - The following shows a that sets the of a . The defines that the appears as an within a element. The marks that the of the should be displayed and centered vertically and horizontally within the . - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentPresenter/Overview/Window1.xaml" id="Snippetbuttonct"::: - - The following image shows the appearance of the when this gets applied: - - ![Button ControlTemplate sample](~/add/media/stylingintro-buttoncontroltemplate.png "Button ControlTemplate sample") - + in the of a to specify where the content is to be added. Every type has a in its default . + + When a object is in a of a , the , , and properties get their values from the properties of the same names of the . You can have the property get the values of these properties from other properties of the templated parent by setting the property or binding to them. + + The uses the following logic to display the : + +- If the property on the is set, the applies that to the property and the resulting and its child elements, if any, are displayed. For more information about objects, see [Data Templating Overview](/dotnet/framework/wpf/data/data-templating-overview). + +- If the property on the is set, the applies the appropriate to the property and the resulting and its child elements, if any, are displayed. + +- If there is a associated with the type of , the applies that to the property and the resulting and its child elements, if any, are displayed. + +- If is a object, the is displayed. If the already has a parent, an exception occurs. + +- If there is a that converts the type of to a , the uses that and the resulting is displayed. + +- If there is a that converts the type of to a string, the uses that and creates a to contain that string. The is displayed. + +- If the content is an , the value of the property is displayed in a . + +- The calls the method on the and creates a to contain the string returned by . The is displayed. + + + +## Examples + The following shows a that sets the of a . The defines that the appears as an within a element. The marks that the of the should be displayed and centered vertically and horizontally within the . + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentPresenter/Overview/Window1.xaml" id="Snippetbuttonct"::: + + The following image shows the appearance of the when this gets applied: + + ![Button ControlTemplate sample](~/add/media/stylingintro-buttoncontroltemplate.png "Button ControlTemplate sample") + ]]> - Introduction to Styling and Templating Sample @@ -153,23 +152,23 @@ Returns the template to use. This may depend on the content or other properties. The to use. - is set, use it. - -2. If is set, call its method. If the result is not `null`, use it. - -3. Look for a whose matches the content among the resources known to the (including application, theme, and system resources). If one is found, use it. - -4. If the type of is "common", use a standard template. The common types are `String`, , and . - -5. Otherwise, use a default template that essentially converts to a string and displays it in a . - - Derived classes can override these rules and implement their own. - + is set, use it. + +2. If is set, call its method. If the result is not `null`, use it. + +3. Look for a whose matches the content among the resources known to the (including application, theme, and system resources). If one is found, use it. + +4. If the type of is "common", use a standard template. The common types are `String`, , and . + +5. Otherwise, use a default template that essentially converts to a string and displays it in a . + + Derived classes can override these rules and implement their own. + ]]> @@ -199,25 +198,25 @@ Gets or sets the data used to generate the child elements of a . The data used to generate the child elements. The default is . - in the of a , it automatically displays the of the templated control. This means that if you set the of your to be , the property of the is implicitly bound to the of the that is using that . - - To set up bindings for the properties, you may want to consider using the property. The property points to a property on the templated parent as well as aliases the associated template and template selector properties automatically. - - -## XAML Text Usage - Typically, you use `TemplateBinding` to bind this property value to a value on templated control. For XAML information, see [TemplateBinding Markup Extension](/dotnet/framework/wpf/advanced/templatebinding-markup-extension). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|| - + in the of a , it automatically displays the of the templated control. This means that if you set the of your to be , the property of the is implicitly bound to the of the that is using that . + + To set up bindings for the properties, you may want to consider using the property. The property points to a property on the templated parent as well as aliases the associated template and template selector properties automatically. + + +## XAML Text Usage + Typically, you use `TemplateBinding` to bind this property value to a value on templated control. For XAML information, see [TemplateBinding Markup Extension](/dotnet/framework/wpf/advanced/templatebinding-markup-extension). + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|| + ]]> @@ -273,28 +272,28 @@ Gets or sets the base name to use during automatic aliasing. The base name to use during automatic aliasing. The default is "Content". - is in a template. When a template contains a with set to "`Abc`", the , , and properties of the are automatically aliased to `Abc`, `AbcTemplate`, and `AbcTemplateSelector`, respectively. Beginning with the .NET Framework 3.5 Service Pack 1, setting to "`Abc`" also causes the property to be aliased to `AbcStringFormat`. - - The two most useful values for this property are "Content" and "Header". - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - - - -## Examples - The following example shows a style for a that demonstrates the usage of the property: - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentPresenter/ContentSource/Page1.xaml" id="Snippetheaderedcontentcontrolstyle"::: - + is in a template. When a template contains a with set to "`Abc`", the , , and properties of the are automatically aliased to `Abc`, `AbcTemplate`, and `AbcTemplateSelector`, respectively. Beginning with the .NET Framework 3.5 Service Pack 1, setting to "`Abc`" also causes the property to be aliased to `AbcStringFormat`. + + The two most useful values for this property are "Content" and "Header". + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + + + +## Examples + The following example shows a style for a that demonstrates the usage of the property: + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentPresenter/ContentSource/Page1.xaml" id="Snippetheaderedcontentcontrolstyle"::: + ]]> @@ -356,19 +355,19 @@ Gets or sets a composite string that specifies how to format the property if it is displayed as a string. A composite string that specifies how to format the property if it is displayed as a string. The default is . - can be a predefined, composite, or custom string format. For more information about string formats, see [Formatting Types](/dotnet/standard/base-types/formatting-types). If you set the or property of a , the property is ignored. - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + can be a predefined, composite, or custom string format. For more information about string formats, see [Formatting Types](/dotnet/standard/base-types/formatting-types). If you set the or property of a , the property is ignored. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -424,29 +423,29 @@ Gets or sets the template used to display the content of the control. A that defines the visualization of the content. The default is . - -## XAML Text Usage - For XAML information, see [TemplateBinding Markup Extension](/dotnet/framework/wpf/advanced/templatebinding-markup-extension). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|| - - - -## Examples - The following example shows a style for the control: - - :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/combobox.xaml" id="Snippetcomboboxstyle"::: - + +## XAML Text Usage + For XAML information, see [TemplateBinding Markup Extension](/dotnet/framework/wpf/advanced/templatebinding-markup-extension). + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|| + + + +## Examples + The following example shows a style for the control: + + :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/combobox.xaml" id="Snippetcomboboxstyle"::: + ]]> @@ -502,23 +501,23 @@ Gets or sets the , which allows the application writer to provide custom logic for choosing the template that is used to display the content of the control. A object that supplies logic to return a to apply. The default is . - property is set. For more information, see . - - -## XAML Text Usage - For XAML information, see [TemplateBinding Markup Extension](/dotnet/framework/wpf/advanced/templatebinding-markup-extension). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|| - + property is set. For more information, see . + + +## XAML Text Usage + For XAML information, see [TemplateBinding Markup Extension](/dotnet/framework/wpf/advanced/templatebinding-markup-extension). + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|| + ]]> @@ -736,27 +735,27 @@ if the should use in its style; otherwise, . The default is . - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - - - -## Examples - The following example shows a style for the control: - - - - For more information about this example, see [CheckBox Styles and Templates](/dotnet/framework/wpf/controls/checkbox-styles-and-templates). - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + + + +## Examples + The following example shows a style for the control: + + + + For more information about this example, see [CheckBox Styles and Templates](/dotnet/framework/wpf/controls/checkbox-styles-and-templates). + ]]> diff --git a/xml/System.Windows.Controls/ControlTemplate.xml b/xml/System.Windows.Controls/ControlTemplate.xml index 38e22080414..77fd6789ae7 100644 --- a/xml/System.Windows.Controls/ControlTemplate.xml +++ b/xml/System.Windows.Controls/ControlTemplate.xml @@ -32,56 +32,56 @@ Specifies the visual structure and behavioral aspects of a that can be shared across multiple instances of the control. - allows you to specify the visual structure of a control. The control author can define the default and the application author can override the to reconstruct the visual structure of the control. - - Control templating is one of the many features offered by the WPF styling and templating model. The styling and templating model provides you with such great flexibility that in many cases you do not need to write your own controls. If you are an application author that wants to change the visualization of your control or to replace the of an existing control, see the [Styling and Templating](/dotnet/framework/wpf/controls/styling-and-templating) topic for examples and an in-depth discussion. - - If you are writing your own control, see "Create a Custom Control" in the [Control Authoring Overview](/dotnet/framework/wpf/controls/control-authoring-overview). - - A is intended to be a self-contained unit of implementation detail that is invisible to outside users and objects, including styles. The only way to manipulate the content of the control template is from within the same control template. - - -## XAML Property Element Usage - + allows you to specify the visual structure of a control. The control author can define the default and the application author can override the to reconstruct the visual structure of the control. + + Control templating is one of the many features offered by the WPF styling and templating model. The styling and templating model provides you with such great flexibility that in many cases you do not need to write your own controls. If you are an application author that wants to change the visualization of your control or to replace the of an existing control, see the [Styling and Templating](/dotnet/framework/wpf/controls/styling-and-templating) topic for examples and an in-depth discussion. + + If you are writing your own control, see "Create a Custom Control" in the [Control Authoring Overview](/dotnet/framework/wpf/controls/control-authoring-overview). + + A is intended to be a self-contained unit of implementation detail that is invisible to outside users and objects, including styles. The only way to manipulate the content of the control template is from within the same control template. + + +## XAML Property Element Usage + ```xaml - + - VisualTreeNodeContents - - -``` - - -## XAML Values - *ControlTemplate* - Object element for or a derived class. - - *VisualTreeRootNode* - A single XAML element as the immediate child of the (or a derived class). Templates must have a single root node. In order to generate a useful template, the element chosen as *VisualTreeRootNode* is expected to support a content model of its own, often a model that supports multiple child elements. - - *VisualTreeNodeContents* - One or more elements that complete the intended template. If the element chosen as *VisualTreeRootNode* only supports a single child, then there can only be one element declared as *VisualTreeNodeContents*. It is also possible (though uncommon) to provide text content if the chosen *VisualTreeRootNode* supports a text content property. - - - -## Examples - The following shows a that sets the of a : - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentPresenter/Overview/Window1.xaml" id="Snippetbuttonct"::: - - When this gets applied, the appears as an : - - ![Button ControlTemplate sample](~/add/media/stylingintro-buttoncontroltemplate.png "Button ControlTemplate sample") - - When you set the property of a to a new as in the above example, you are replacing the entire template. What the looks like when it is in focus or pressed is all part of the default appearance of the button that you are replacing. Therefore, depending on your needs, you may want to put in your definition what your button should look like when it is pressed, and so on, as in the following example: - - :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/button.xaml" id="Snippet1"::: - - Note that this example references resources that are not shown here. For the complete sample, see [Styling with ControlTemplates Sample](https://github.com/Microsoft/WPF-Samples/tree/master/Styles%20&%20Templates/IntroToStylingAndTemplating). That sample provides examples of control templates for many controls and is the best way for you to get started with creating control templates. - + VisualTreeNodeContents + + +``` + + +## XAML Values + *ControlTemplate* + Object element for or a derived class. + + *VisualTreeRootNode* + A single XAML element as the immediate child of the (or a derived class). Templates must have a single root node. In order to generate a useful template, the element chosen as *VisualTreeRootNode* is expected to support a content model of its own, often a model that supports multiple child elements. + + *VisualTreeNodeContents* + One or more elements that complete the intended template. If the element chosen as *VisualTreeRootNode* only supports a single child, then there can only be one element declared as *VisualTreeNodeContents*. It is also possible (though uncommon) to provide text content if the chosen *VisualTreeRootNode* supports a text content property. + + + +## Examples + The following shows a that sets the of a : + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentPresenter/Overview/Window1.xaml" id="Snippetbuttonct"::: + + When this gets applied, the appears as an : + + ![Button ControlTemplate sample](~/add/media/stylingintro-buttoncontroltemplate.png "Button ControlTemplate sample") + + When you set the property of a to a new as in the above example, you are replacing the entire template. What the looks like when it is in focus or pressed is all part of the default appearance of the button that you are replacing. Therefore, depending on your needs, you may want to put in your definition what your button should look like when it is pressed, and so on, as in the following example: + + :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/button.xaml" id="Snippet1"::: + + Note that this example references resources that are not shown here. For the complete sample, see [Styling with ControlTemplates Sample](https://github.com/Microsoft/WPF-Samples/tree/master/Styles%20&%20Templates/IntroToStylingAndTemplating). That sample provides examples of control templates for many controls and is the best way for you to get started with creating control templates. + ]]> @@ -90,7 +90,6 @@ - Introduction to Styling and Templating Sample @@ -197,38 +196,38 @@ Gets or sets the type for which this is intended. The default value is . - in the resources section with the property set to a type, the does not get applied to that type automatically. Instead, you need to specify an `x:Key` and apply the template explicitly. - - Also note that the property is required on a if the template definition contains a . - - -## XAML Attribute Usage - -``` - -``` - - -## XAML Values - *typeName* - The type name of the class. To refer to the name of the class, use the [Markup Extensions and WPF XAML](/dotnet/framework/wpf/advanced/markup-extensions-and-wpf-xaml). - - - -## Examples - The following example demonstrates the use of this property: - - :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/label.xaml" id="Snippetlabel"::: - - The above example uses the following resource: - - - - For the complete sample, see [Styling with ControlTemplates Sample](https://github.com/Microsoft/WPF-Samples/tree/master/Styles%20&%20Templates/IntroToStylingAndTemplating). - + in the resources section with the property set to a type, the does not get applied to that type automatically. Instead, you need to specify an `x:Key` and apply the template explicitly. + + Also note that the property is required on a if the template definition contains a . + + +## XAML Attribute Usage + +``` + +``` + + +## XAML Values + *typeName* + The type name of the class. To refer to the name of the class, use the [Markup Extensions and WPF XAML](/dotnet/framework/wpf/advanced/markup-extensions-and-wpf-xaml). + + + +## Examples + The following example demonstrates the use of this property: + + :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/label.xaml" id="Snippetlabel"::: + + The above example uses the following resource: + + + + For the complete sample, see [Styling with ControlTemplates Sample](https://github.com/Microsoft/WPF-Samples/tree/master/Styles%20&%20Templates/IntroToStylingAndTemplating). + ]]> The property must not be if the definition of the template has a . @@ -274,43 +273,42 @@ Gets a collection of objects that apply property changes or perform actions based on specified conditions. A collection of objects. The default value is . - -## XAML Property Element Usage - -``` - - - oneOrMoreTriggers - - -``` - - -## XAML Values - *oneOrMoreTriggers* - One or more objects (usually these are a ). - - - -## Examples - The following example demonstrates the use of this property: - - :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/tooltip.xaml" id="Snippettooltip"::: - - The above example uses the following resources: - - - - - For the complete sample, see [Styling with ControlTemplates Sample](https://github.com/Microsoft/WPF-Samples/tree/master/Styles%20&%20Templates/IntroToStylingAndTemplating). - + +## XAML Property Element Usage + +``` + + + oneOrMoreTriggers + + +``` + + +## XAML Values + *oneOrMoreTriggers* + One or more objects (usually these are a ). + + + +## Examples + The following example demonstrates the use of this property: + + :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/tooltip.xaml" id="Snippettooltip"::: + + The above example uses the following resources: + + + + + For the complete sample, see [Styling with ControlTemplates Sample](https://github.com/Microsoft/WPF-Samples/tree/master/Styles%20&%20Templates/IntroToStylingAndTemplating). + ]]> - Introduction to Styling and Templating Sample @@ -341,17 +339,17 @@ The element this template is applied to. Checks the templated parent against a set of rules. - . - - 2. The `templatedParent` cannot be of type that is not a . - - 3. The `templatedParent` cannot be a that is not associated with the . - + . + + 2. The `templatedParent` cannot be of type that is not a . + + 3. The `templatedParent` cannot be a that is not associated with the . + ]]> The must not be . diff --git a/xml/System.Windows.Controls/FlowDocumentReaderViewingMode.xml b/xml/System.Windows.Controls/FlowDocumentReaderViewingMode.xml index 6b52f6124cc..b1c5fd92121 100644 --- a/xml/System.Windows.Controls/FlowDocumentReaderViewingMode.xml +++ b/xml/System.Windows.Controls/FlowDocumentReaderViewingMode.xml @@ -21,25 +21,24 @@ Names viewing modes for the control. - - WPF Layout Gallery Sample diff --git a/xml/System.Windows.Controls/ItemsControl.xml b/xml/System.Windows.Controls/ItemsControl.xml index 6164d8f381f..c5845d71bd2 100644 --- a/xml/System.Windows.Controls/ItemsControl.xml +++ b/xml/System.Windows.Controls/ItemsControl.xml @@ -58,84 +58,84 @@ Represents a control that can be used to present a collection of items. - is a type of that can contain multiple items, such as strings, objects, or other elements. The following illustration shows a control that contains the following different types of items: - -- A string. - -- A object. - -- A object. - -- A control that contains an and a . - - ![ListBox with four types of content](~/add/media/controlcontentmodellistbox2.PNG "ListBox with four types of content") -ListBox that contains multiple types of objects - - Use either the or the property to specify the collection to use to generate the content of your . You can set the property to any type that implements . is typically used to display a data collection or to bind an to a collection object. - - If you do not want to use an object that implements to populate the , you can add items by using the property. The items in an can have different types. For example, a can contain one item that is a string and another item that is an . - - When the property is set, the collection is set to read-only and fixed-size. This means that you cannot add items to the collection directly. When is in use, setting the property to `null` removes the collection and restores usage to , which will be an empty . - - Each type has a corresponding item container type. The corresponding item container for each appends `Item` to its name. For example, for , the item containers are controls; for , they are controls. You can explicitly create a container type for each item in the , but it is not necessary. When you do not explicitly create the container type, one is generated that contains a data item in the item collection. For example, if you bind a collection of string objects to the property of a , you do not explicitly create objects, but the will generate one for each string. You can access a generated item container by using the property. - + is a type of that can contain multiple items, such as strings, objects, or other elements. The following illustration shows a control that contains the following different types of items: + +- A string. + +- A object. + +- A object. + +- A control that contains an and a . + + ![ListBox with four types of content](~/add/media/controlcontentmodellistbox2.PNG "ListBox with four types of content") +ListBox that contains multiple types of objects + + Use either the or the property to specify the collection to use to generate the content of your . You can set the property to any type that implements . is typically used to display a data collection or to bind an to a collection object. + + If you do not want to use an object that implements to populate the , you can add items by using the property. The items in an can have different types. For example, a can contain one item that is a string and another item that is an . + + When the property is set, the collection is set to read-only and fixed-size. This means that you cannot add items to the collection directly. When is in use, setting the property to `null` removes the collection and restores usage to , which will be an empty . + + Each type has a corresponding item container type. The corresponding item container for each appends `Item` to its name. For example, for , the item containers are controls; for , they are controls. You can explicitly create a container type for each item in the , but it is not necessary. When you do not explicitly create the container type, one is generated that contains a data item in the item collection. For example, if you bind a collection of string objects to the property of a , you do not explicitly create objects, but the will generate one for each string. You can access a generated item container by using the property. + > [!NOTE] -> Certain features of UI Automation do not work correctly when an contains duplicate objects. If an object appears multiple times, only the first instance appears in the automation tree. (Two objects **x** and **y** are considered to be duplicates if `Object.Equals(x, y)` returns `true`.) -> -> While an object **x** is in use by an the value returned by **x.**`GetHashCode()` must not change. Changes to this value are unsupported, and lead to unpredictable behavior. - +> Certain features of UI Automation do not work correctly when an contains duplicate objects. If an object appears multiple times, only the first instance appears in the automation tree. (Two objects **x** and **y** are considered to be duplicates if `Object.Equals(x, y)` returns `true`.) +> +> While an object **x** is in use by an the value returned by **x.**`GetHashCode()` must not change. Changes to this value are unsupported, and lead to unpredictable behavior. + Dependency properties for this control might be set by the control's default style. If a property is set by a default style, the property might change from its default value when the control appears in the application. The default style is determined by which desktop theme is used when the application is running. - -## Examples - The following examples demonstrate binding data to an . The first example creates a class called `MyData` that is a simple string collection. - + +## Examples + The following examples demonstrate binding data to an . The first example creates a class called `MyData` that is a simple string collection. + :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml.cs" id="Snippet8"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ControlContentOverviewSnippets/VisualBasic/Window1.xaml.vb" id="Snippet8"::: - - The following example binds the object of an to `MyData`. - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml" id="Snippet7"::: -:::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml" id="Snippet6"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ControlContentOverviewSnippets/VisualBasic/Window1.xaml.vb" id="Snippet8"::: + + The following example binds the object of an to `MyData`. + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml" id="Snippet7"::: +:::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml" id="Snippet6"::: + :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml.cs" id="Snippet9"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ControlContentOverviewSnippets/VisualBasic/Window1.xaml.vb" id="Snippet9"::: - - The following illustration shows the control created in the previous example. - - ![ListBox](~/add/media/controlcontentmodellistbox1.PNG "ListBox") - - The following example demonstrates how to populate an by using the property. The example adds the following different types of items to the : - -- A string. - -- A object. - -- A object. - -- A control that contains other objects. - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml" id="Snippet3"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ControlContentOverviewSnippets/VisualBasic/Window1.xaml.vb" id="Snippet9"::: + + The following illustration shows the control created in the previous example. + + ![ListBox](~/add/media/controlcontentmodellistbox1.PNG "ListBox") + + The following example demonstrates how to populate an by using the property. The example adds the following different types of items to the : + +- A string. + +- A object. + +- A object. + +- A control that contains other objects. + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml" id="Snippet3"::: + :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml.cs" id="Snippet4"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ControlContentOverviewSnippets/VisualBasic/Window1.xaml.vb" id="Snippet4"::: - - The following illustration shows the created in the previous example. - - ![ListBox with four types of content](~/add/media/controlcontentmodellistbox2.PNG "ListBox with four types of content") - - The following example illustrates how to use the different styling and templating-related properties that are provided by the . The in this example is bound to a collection of `Task` objects. For demonstration purposes, the styles and templates in this example are all declared inline. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/DataTemplate/Overview/Window1.xaml" id="Snippetitemscontrolproperties"::: - - The following illustration is a screenshot of the example when it is rendered. - - ![ItemsControl example screenshot](~/add/media/databinding-itemscontrolproperties.png "ItemsControl example screenshot") - - Two other style-related properties of the that are not shown here are and . - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ControlContentOverviewSnippets/VisualBasic/Window1.xaml.vb" id="Snippet4"::: + + The following illustration shows the created in the previous example. + + ![ListBox with four types of content](~/add/media/controlcontentmodellistbox2.PNG "ListBox with four types of content") + + The following example illustrates how to use the different styling and templating-related properties that are provided by the . The in this example is bound to a collection of `Task` objects. For demonstration purposes, the styles and templates in this example are all declared inline. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/DataTemplate/Overview/Window1.xaml" id="Snippetitemscontrolproperties"::: + + The following illustration is a screenshot of the example when it is rendered. + + ![ItemsControl example screenshot](~/add/media/databinding-itemscontrolproperties.png "ItemsControl example screenshot") + + Two other style-related properties of the that are not shown here are and . + ]]> @@ -258,34 +258,34 @@ ListBox that contains multiple types of objects Gets or sets the number of alternating item containers in the , which enables alternating containers to have a unique appearance. The number of alternating item containers in the . - and properties enable you to specify the appearance for two or more alternating item containers. For example, you can specify alternating background colors for every third item in an . The is assigned to each item container in the . begins at 0, increments until it is minus 1, and then restarts at 0. For example, if is 3 and there are seven items in the , the following table lists the for each item. - -|Position of Item in the || -|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -|1|0| -|2|1| -|3|2| -|4|0| -|5|1| -|6|2| -|7|0| - - There are several methods you can use to specify different appearances for the alternating item containers. One method is to bind properties of the items container to the . You can then use an to specify which value should be applied to the item container that has a certain value. You can also use triggers to change the value of an item container's property depending on the value of its . - - - -## Examples - The following example specifies that the (which inherits from ) has alternating item containers (which are of type ) and specifies a different background and foreground for each one. The example binds the and properties to the and provides an for each property. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/HierarchicalDataTemplate/AlternationCount/Window1.xaml" id="Snippet2"::: - - The following example does the same as the previous example by using objects. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/HierarchicalDataTemplate/AlternationCount/Window1.xaml" id="Snippet1"::: - + and properties enable you to specify the appearance for two or more alternating item containers. For example, you can specify alternating background colors for every third item in an . The is assigned to each item container in the . begins at 0, increments until it is minus 1, and then restarts at 0. For example, if is 3 and there are seven items in the , the following table lists the for each item. + +|Position of Item in the || +|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| +|1|0| +|2|1| +|3|2| +|4|0| +|5|1| +|6|2| +|7|0| + + There are several methods you can use to specify different appearances for the alternating item containers. One method is to bind properties of the items container to the . You can then use an to specify which value should be applied to the item container that has a certain value. You can also use triggers to change the value of an item container's property depending on the value of its . + + + +## Examples + The following example specifies that the (which inherits from ) has alternating item containers (which are of type ) and specifies a different background and foreground for each one. The example binds the and properties to the and provides an for each property. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/HierarchicalDataTemplate/AlternationCount/Window1.xaml" id="Snippet2"::: + + The following example does the same as the previous example by using objects. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/HierarchicalDataTemplate/AlternationCount/Window1.xaml" id="Snippet1"::: + ]]> @@ -340,34 +340,34 @@ ListBox that contains multiple types of objects Gets the assigned value of the item container when alternating item containers are used. - and properties enable you to specify the appearance for two or more alternating item containers. For example, you can specify alternating background colors for every third item in an . The is assigned to each item container in the . begins at 0, increments until it is minus 1, and then restarts at 0. For example, if is 3 and there are seven items in the , the following table lists the for each item. - -|Position of Item in the || -|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -|1|0| -|2|1| -|3|2| -|4|0| -|5|1| -|6|2| -|7|0| - - There are several methods you can use to specify different appearances for the alternating item containers. One method is to bind properties of the items container to the . You can then use an to specify which value should be applied to the item container that has a certain value. You can also use triggers to change the value of an item container's property depending on the value of its . - - - -## Examples - The following example specifies that the (which inherits from ) has alternating item containers (which are of type ) and specifies a different background and foreground for each one. The example binds the and properties to the and provides an for each property. - - :::code language="xml" source="~/snippets/csharp/System.Windows/HierarchicalDataTemplate/AlternationCount/Window1.xaml" id="Snippet2"::: - - The following example does the same as the previous example by using objects. - - :::code language="xml" source="~/snippets/csharp/System.Windows/HierarchicalDataTemplate/AlternationCount/Window1.xaml" id="Snippet1"::: - + and properties enable you to specify the appearance for two or more alternating item containers. For example, you can specify alternating background colors for every third item in an . The is assigned to each item container in the . begins at 0, increments until it is minus 1, and then restarts at 0. For example, if is 3 and there are seven items in the , the following table lists the for each item. + +|Position of Item in the || +|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| +|1|0| +|2|1| +|3|2| +|4|0| +|5|1| +|6|2| +|7|0| + + There are several methods you can use to specify different appearances for the alternating item containers. One method is to bind properties of the items container to the . You can then use an to specify which value should be applied to the item container that has a certain value. You can also use triggers to change the value of an item container's property depending on the value of its . + + + +## Examples + The following example specifies that the (which inherits from ) has alternating item containers (which are of type ) and specifies a different background and foreground for each one. The example binds the and properties to the and provides an for each property. + + :::code language="xml" source="~/snippets/csharp/System.Windows/HierarchicalDataTemplate/AlternationCount/Window1.xaml" id="Snippet2"::: + + The following example does the same as the previous example by using objects. + + :::code language="xml" source="~/snippets/csharp/System.Windows/HierarchicalDataTemplate/AlternationCount/Window1.xaml" id="Snippet1"::: + ]]> @@ -456,11 +456,11 @@ ListBox that contains multiple types of objects The item. When overridden in a derived class, undoes the effects of the method. - @@ -578,32 +578,32 @@ ListBox that contains multiple types of objects Gets or sets a path to a value on the source object to serve as the visual representation of the object. The path to a value on the source object. This can be any path, or an XPath such as "@Name". The default is an empty string (""). - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - - - -## Examples - In the following example, the static resource named `places` is defined as a collection of `Place` objects, in which each `Place` object has a `CityName` property and a `State` property. The prefix `src` is mapped to the namespace where the data source `Places` is defined. The prefixes `scm` and `dat` are mapped to the and namespaces, respectively. - - The following example creates a view of the data collection that is sorted by the city name and grouped by the state. - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ItemsControl/DisplayMemberPath/window1.xaml" id="Snippet1"::: - - The view can be a binding source, as in the following example. Because of the specified , each`Place` object is shown with its `CityName` value. If is not specified and there is no , then the displays a string representation of each object in the underlying collection (in this case, "SDKSample.Place"). - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ItemsControl/DisplayMemberPath/window1.xaml" id="Snippet2"::: - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + + + +## Examples + In the following example, the static resource named `places` is defined as a collection of `Place` objects, in which each `Place` object has a `CityName` property and a `State` property. The prefix `src` is mapped to the namespace where the data source `Places` is defined. The prefixes `scm` and `dat` are mapped to the and namespaces, respectively. + + The following example creates a view of the data collection that is sorted by the city name and grouped by the state. + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ItemsControl/DisplayMemberPath/window1.xaml" id="Snippet1"::: + + The view can be a binding source, as in the following example. Because of the specified , each`Place` object is shown with its `CityName` value. If is not specified and there is no , then the displays a string representation of each object in the underlying collection (in this case, "SDKSample.Place"). + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ItemsControl/DisplayMemberPath/window1.xaml" id="Snippet2"::: + ]]> @@ -751,11 +751,11 @@ ListBox that contains multiple types of objects Returns the that the specified element hosts items for. The that the specified element hosts items for, or . - is set to `true` on `element` in a style or if `element` is a panel created by the for an , the is returned; otherwise, `null`. - + is set to `true` on `element` in a style or if `element` is a panel created by the for an , the is returned; otherwise, `null`. + ]]> @@ -795,40 +795,40 @@ ListBox that contains multiple types of objects Gets a collection of objects that define the appearance of each level of groups. A collection of objects that define the appearance of each level of groups. - -## XAML Property Element Usage - -``` - - - OneOrMoreGroupStyleObjects - - - -``` - - -## XAML Values - *OneOrMoreGroupStyleObjects* - One or more objects. - - - -## Examples - The following examples show an that is bound to an and the code-behind content that contains the logic to add and remove grouping. When the check box is checked, the content of the is grouped by the `Type` attribute. - - Each group is of type . The is specified so that it appears as a that displays the of each the group. In this case, the is either `Work` or `Home`. - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/GroupStyle/Overview/Window1.xaml" id="Snippetxaml"::: - + +## XAML Property Element Usage + +``` + + + OneOrMoreGroupStyleObjects + + + +``` + + +## XAML Values + *OneOrMoreGroupStyleObjects* + One or more objects. + + + +## Examples + The following examples show an that is bound to an and the code-behind content that contains the logic to add and remove grouping. When the check box is checked, the content of the is grouped by the `Type` attribute. + + Each group is of type . The is specified so that it appears as a that displays the of each the group. In this case, the is either `Work` or `Home`. + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/GroupStyle/Overview/Window1.xaml" id="Snippetxaml"::: + :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/GroupStyle/Overview/Window1.xaml.cs" id="Snippetcode"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/GroupingSample/visualbasic/window1.xaml.vb" id="Snippetcode"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/GroupingSample/visualbasic/window1.xaml.vb" id="Snippetcode"::: + ]]> @@ -869,18 +869,18 @@ ListBox that contains multiple types of objects Gets or sets a method that enables you to provide custom selection logic for a to apply to each group in a collection. A method that enables you to provide custom selection logic for a to apply to each group in a collection. - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -948,18 +948,18 @@ ListBox that contains multiple types of objects if the items count is greater than 0; otherwise, . The default is . - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -1026,18 +1026,18 @@ ListBox that contains multiple types of objects if a control is using grouping; otherwise, . - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -1097,11 +1097,11 @@ ListBox that contains multiple types of objects if the item is (or is eligible to be) its own container; otherwise, . - method. - + method. + ]]> @@ -1164,18 +1164,18 @@ ListBox that contains multiple types of objects if text searches are case-sensitive; otherwise, . - property is set to `true`, the property specifies whether the case determines whether an item is selected in an . For example, if an contain two strings that differ only in case, such as "ITEM" and "item", the first string will always be selected, regardless of the case of the input. - - - -## Examples - The following example creates a that contains the strings, "DOG", "CAT", "dog", and "cat". The example binds the property to the property of a . If the check box is selected and the user types "dog", the third item in the is selected. If the user unselects the check box and types "dog", the first item is selected because case is not a condition of the search. - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ComboBox/IsEditable/pane1.xaml" id="Snippet4"::: - + property is set to `true`, the property specifies whether the case determines whether an item is selected in an . For example, if an contain two strings that differ only in case, such as "ITEM" and "item", the first string will always be selected, regardless of the case of the input. + + + +## Examples + The following example creates a that contains the strings, "DOG", "CAT", "dog", and "cat". The example binds the property to the property of a . If the check box is selected and the user types "dog", the third item in the is selected. If the user unselects the check box and types "dog", the first item is selected because case is not a condition of the search. + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ComboBox/IsEditable/pane1.xaml" id="Snippet4"::: + ]]> @@ -1231,18 +1231,18 @@ ListBox that contains multiple types of objects if is enabled; otherwise, . The default is . - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -1304,24 +1304,24 @@ ListBox that contains multiple types of objects Gets or sets the that is copied to each item in the . The that is copied to each item in the . - property, each item container gets a that has the same objects as the , but the properties that describe the data in the bindings, such as and , are specific to the data for each item in the . You must access the item container's to perform operations such as validate the data and check for errors on an item. - - - -## Examples - The following example is part of an application that prompts the user to enter multiple customers and assign a sales representative to each customer, and then checks that the sales representative and the customer belong to the same region. The example sets the of the so the , `AreasMatch`, will validate each item. The example also creates a that displays validation errors. Notice that the of the is bound to a that it gets from the property. The value of is the item container that has the error. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/FrameworkElement/BindingGroup/Window2.xaml" id="Snippetitembindinggroup"::: -:::code language="xaml" source="~/snippets/csharp/System.Windows/FrameworkElement/BindingGroup/Window2.xaml" id="Snippetvalidationadornersitefor"::: - - The following example gets the item container and calls on the container's to validate the data. You must validate the data by calling a method on the item container's , not on the of the . - + property, each item container gets a that has the same objects as the , but the properties that describe the data in the bindings, such as and , are specific to the data for each item in the . You must access the item container's to perform operations such as validate the data and check for errors on an item. + + + +## Examples + The following example is part of an application that prompts the user to enter multiple customers and assign a sales representative to each customer, and then checks that the sales representative and the customer belong to the same region. The example sets the of the so the , `AreasMatch`, will validate each item. The example also creates a that displays validation errors. Notice that the of the is bound to a that it gets from the property. The value of is the item container that has the error. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/FrameworkElement/BindingGroup/Window2.xaml" id="Snippetitembindinggroup"::: +:::code language="xaml" source="~/snippets/csharp/System.Windows/FrameworkElement/BindingGroup/Window2.xaml" id="Snippetvalidationadornersitefor"::: + + The following example gets the item container and calls on the container's to validate the data. You must validate the data by calling a method on the item container's , not on the of the . + :::code language="csharp" source="~/snippets/csharp/System.Windows/FrameworkElement/BindingGroup/Window2.xaml.cs" id="Snippetupdatesources"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/BindingGroupSnippets/visualbasic/window2.xaml.vb" id="Snippetupdatesources"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/BindingGroupSnippets/visualbasic/window2.xaml.vb" id="Snippetupdatesources"::: + ]]> @@ -1391,13 +1391,13 @@ ListBox that contains multiple types of objects Gets the that is associated with the control. The that is associated with the control. The default is . - is responsible for generating the user interface (UI) for its host, such as an . It maintains the association between the items in the data view of the control and the corresponding objects. Every has an associated item container that contains a data item in the item collection. You can use the property to access the item container that is associated with your . For example, if you have a data-bound control and you want to get a based on its index or its associated data item, you can use the or the method. Alternatively, you can use the or the method to get the index or data item that is associated with a given generated container element. - - The interface is also used in advanced scenarios. Typically, advanced applications that have their own implementation of a virtualizing panel call members of the interface. - + is responsible for generating the user interface (UI) for its host, such as an . It maintains the association between the items in the data view of the control and the corresponding objects. Every has an associated item container that contains a data item in the item collection. You can use the property to access the item container that is associated with your . For example, if you have a data-bound control and you want to get a based on its index or its associated data item, you can use the or the method. Alternatively, you can use the or the method to get the index or data item that is associated with a given generated container element. + + The interface is also used in advanced scenarios. Typically, advanced applications that have their own implementation of a virtualizing panel call members of the interface. + ]]> Get a Combo Box Item @@ -1438,69 +1438,67 @@ ListBox that contains multiple types of objects Gets or sets the that is applied to the container element generated for each item. The that is applied to the container element generated for each item. The default is . - property to set a style to affect the appearance of the elements that contain the data items. For example, for , the generated containers are controls; for , they are controls. - - The provides great flexibility for visual customization and provides many styling and templating properties. To affect the layout of the items, use the property. If you are using grouping on your control, you can use the or property. To specify the visualization of data objects, use the or property. For more information about when to specify an , see [Data Templating Overview](/dotnet/framework/wpf/data/data-templating-overview). - - -## XAML Attribute Usage - -``` - -``` - - -## XAML Values - *ResourceExtension* - One of the following: `StaticResource`, or `DynamicResource`. Unless the styles themselves contain references to potential run-time references such as system resources or user preferences, `StaticResource` reference to a style is usually recommended for performance. - - *StyleResourceKey* - `x:Key` string value referring to the style being requested as a resource. - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - - - -## Examples - The following example demonstrates how to use this property. Consider the following data-bound : - - :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/window1.xaml" id="Snippetuilistbox"::: - - To create a style for the elements that contain the data items, create a style, as shown in the following example. The style is applied to all elements within the scope the style is defined in. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/window1.xaml" id="Snippetlistboxitemstyle"::: - - The is the container element for the control. Therefore, an alternative to the preceding is to set the property of the to the defined style. To do that, give the style an `x:Key` so it is available as a resource: - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentPresenter/Overview/Window1.xaml" id="Snippetcontainerstyle1"::: - - Next, set the property to the resource, as in the following example: - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentPresenter/Overview/Window1.xaml" id="Snippetlistbox"::: - - Both of the preceding scenarios produce the same result. However, one of the advantages of making the style available as a resource is that you can reuse the style. Setting the property explicitly can also provide greater readability. - - For the complete example, see [Introduction to Styling and Templating Sample](https://go.microsoft.com/fwlink/?LinkID=160010). - - The following example is designed to illustrate the function of the different styling and templating related properties provided by the . The in this example is bound to a collection of `Task` objects. For demonstration purposes, the styles and templates in this example are all declared inline. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/DataTemplate/Overview/Window1.xaml" id="Snippetitemscontrolproperties"::: - - The following is a screenshot of the example when it is rendered: - - ![ItemsControl example screenshot](~/add/media/databinding-itemscontrolproperties.png "ItemsControl example screenshot") - - Two other style-related properties of the that are not shown here are and . - + property to set a style to affect the appearance of the elements that contain the data items. For example, for , the generated containers are controls; for , they are controls. + + The provides great flexibility for visual customization and provides many styling and templating properties. To affect the layout of the items, use the property. If you are using grouping on your control, you can use the or property. To specify the visualization of data objects, use the or property. For more information about when to specify an , see [Data Templating Overview](/dotnet/framework/wpf/data/data-templating-overview). + + +## XAML Attribute Usage + +``` + +``` + + +## XAML Values + *ResourceExtension* + One of the following: `StaticResource`, or `DynamicResource`. Unless the styles themselves contain references to potential run-time references such as system resources or user preferences, `StaticResource` reference to a style is usually recommended for performance. + + *StyleResourceKey* + `x:Key` string value referring to the style being requested as a resource. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + + + +## Examples + The following example demonstrates how to use this property. Consider the following data-bound : + + :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/window1.xaml" id="Snippetuilistbox"::: + + To create a style for the elements that contain the data items, create a style, as shown in the following example. The style is applied to all elements within the scope the style is defined in. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/window1.xaml" id="Snippetlistboxitemstyle"::: + + The is the container element for the control. Therefore, an alternative to the preceding is to set the property of the to the defined style. To do that, give the style an `x:Key` so it is available as a resource: + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentPresenter/Overview/Window1.xaml" id="Snippetcontainerstyle1"::: + + Next, set the property to the resource, as in the following example: + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentPresenter/Overview/Window1.xaml" id="Snippetlistbox"::: + + Both of the preceding scenarios produce the same result. However, one of the advantages of making the style available as a resource is that you can reuse the style. Setting the property explicitly can also provide greater readability. + + The following example is designed to illustrate the function of the different styling and templating related properties provided by the . The in this example is bound to a collection of `Task` objects. For demonstration purposes, the styles and templates in this example are all declared inline. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/DataTemplate/Overview/Window1.xaml" id="Snippetitemscontrolproperties"::: + + The following is a screenshot of the example when it is rendered: + + ![ItemsControl example screenshot](~/add/media/databinding-itemscontrolproperties.png "ItemsControl example screenshot") + + Two other style-related properties of the that are not shown here are and . + ]]> Introduction to Data Templating Sample @@ -1571,21 +1569,21 @@ ListBox that contains multiple types of objects Gets or sets custom style-selection logic for a style that can be applied to each generated container element. A object that contains logic that chooses the style to use as the . The default is . - property to set a style to affect the appearance of the elements that contain the data items. For example, for , the generated containers are controls; for , they are controls. If you have more than one style defined and need to supply logic to choose which one to apply, then you use the property instead of the property. Note that this property is ignored if the property is set. - - The provides great flexibility for visual customization and provides many styling and templating properties. To affect the layout of the items, use the property. If you are using grouping on your control, you can use the or property. To specify the visualization of data objects, use the or property. For more information about when to specify an , see [Data Templating Overview](/dotnet/framework/wpf/data/data-templating-overview). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + property to set a style to affect the appearance of the elements that contain the data items. For example, for , the generated containers are controls; for , they are controls. If you have more than one style defined and need to supply logic to choose which one to apply, then you use the property instead of the property. Note that this property is ignored if the property is set. + + The provides great flexibility for visual customization and provides many styling and templating properties. To affect the layout of the items, use the property. If you are using grouping on your control, you can use the or property. To specify the visualization of data objects, use the or property. For more information about when to specify an , see [Data Templating Overview](/dotnet/framework/wpf/data/data-templating-overview). + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -1651,89 +1649,89 @@ ListBox that contains multiple types of objects Gets the collection used to generate the content of the . The collection that is used to generate the content of the . The default is an empty collection. - . Adding a child to an object implicitly adds it to the for the object. - + . Adding a child to an object implicitly adds it to the for the object. + > [!NOTE] -> This property can only be set in Extensible Application Markup Language (XAML) via the collection syntax shown, or by accessing the collection object and using its various methods such as `Add`. The property to access the collection object itself is read-only, and the collection itself is read-write. - - Note that you use either the or the property to specify the collection that should be used to generate the content of your . When the property is set, the collection is made read-only and fixed-size. - - When is in use, setting the property to `null` removes the collection and restores usage to , which will be an empty . - - -## XAML Property Element Usage - -``` - - OneOrMoreElements - -``` - - -## XAML Values - *OneOrMoreElements* - One or more objects. - - - -## Examples - The following examples demonstrate binding data to an . The first example creates a class called `MyData` that is a simple string collection. - +> This property can only be set in Extensible Application Markup Language (XAML) via the collection syntax shown, or by accessing the collection object and using its various methods such as `Add`. The property to access the collection object itself is read-only, and the collection itself is read-write. + + Note that you use either the or the property to specify the collection that should be used to generate the content of your . When the property is set, the collection is made read-only and fixed-size. + + When is in use, setting the property to `null` removes the collection and restores usage to , which will be an empty . + + +## XAML Property Element Usage + +``` + + OneOrMoreElements + +``` + + +## XAML Values + *OneOrMoreElements* + One or more objects. + + + +## Examples + The following examples demonstrate binding data to an . The first example creates a class called `MyData` that is a simple string collection. + :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml.cs" id="Snippet8"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ControlContentOverviewSnippets/VisualBasic/Window1.xaml.vb" id="Snippet8"::: - - The following example binds the object of an to `MyData`. - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml" id="Snippet7"::: -:::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml" id="Snippet6"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ControlContentOverviewSnippets/VisualBasic/Window1.xaml.vb" id="Snippet8"::: + + The following example binds the object of an to `MyData`. + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml" id="Snippet7"::: +:::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml" id="Snippet6"::: + :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml.cs" id="Snippet9"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ControlContentOverviewSnippets/VisualBasic/Window1.xaml.vb" id="Snippet9"::: - - The following illustration shows the control created in the previous example. - - ![ListBox](~/add/media/controlcontentmodellistbox1.PNG "ListBox") - - The following example demonstrates how to populate an by using the property. The example adds the following different types of items to the : - -- A string. - -- A object. - -- A object. - -- A control that contains other objects. - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml" id="Snippet3"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ControlContentOverviewSnippets/VisualBasic/Window1.xaml.vb" id="Snippet9"::: + + The following illustration shows the control created in the previous example. + + ![ListBox](~/add/media/controlcontentmodellistbox1.PNG "ListBox") + + The following example demonstrates how to populate an by using the property. The example adds the following different types of items to the : + +- A string. + +- A object. + +- A object. + +- A control that contains other objects. + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml" id="Snippet3"::: + :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/ContentControl/Overview/Window1.xaml.cs" id="Snippet4"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ControlContentOverviewSnippets/VisualBasic/Window1.xaml.vb" id="Snippet4"::: - - The following illustration shows the created in the previous example. - - ![ListBox with four types of content](~/add/media/controlcontentmodellistbox2.PNG "ListBox with four types of content") - - Note that the is a view, so you can use the view-related functionalities such as sorting, filtering, and grouping. - - For example, if you have an instance of a , `myListBox`, you can do the following to sort the content of the . In this example, `Content` is the name of the property to sort by. - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ControlContentOverviewSnippets/VisualBasic/Window1.xaml.vb" id="Snippet4"::: + + The following illustration shows the created in the previous example. + + ![ListBox with four types of content](~/add/media/controlcontentmodellistbox2.PNG "ListBox with four types of content") + + Note that the is a view, so you can use the view-related functionalities such as sorting, filtering, and grouping. + + For example, if you have an instance of a , `myListBox`, you can do the following to sort the content of the . In this example, `Content` is the name of the property to sort by. + :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/ItemCollection/Overview/Window1.xaml.cs" id="Snippetsort"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ListBoxSort_snip/visualbasic/window1.xaml.vb" id="Snippetsort"::: - - Note that when you do this, if the control is bound to a collection directly, the default collection view is used, and the sort criteria are applied to all other controls bound to the same collection directly. The view will not be the default view if the property is bound to a . - - If your is bound directly to a collection, then you can do the following to get the default view: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ListBoxSort_snip/visualbasic/window1.xaml.vb" id="Snippetsort"::: + + Note that when you do this, if the control is bound to a collection directly, the default collection view is used, and the sort criteria are applied to all other controls bound to the same collection directly. The view will not be the default view if the property is bound to a . + + If your is bound directly to a collection, then you can do the following to get the default view: + :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/GroupStyle/Overview/Window1.xaml.cs" id="Snippetmyview"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/GroupingSample/visualbasic/window1.xaml.vb" id="Snippetmyview"::: + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/GroupingSample/visualbasic/window1.xaml.vb" id="Snippetmyview"::: :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/GroupStyle/Overview/Window1.xaml.cs" id="Snippetgetview"::: -:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/GroupingSample/visualbasic/window1.xaml.vb" id="Snippetgetview"::: - - Alternately, you can specify filtering, sorting, and grouping criteria in XAML or code by using a . - +:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/GroupingSample/visualbasic/window1.xaml.vb" id="Snippetgetview"::: + + Alternately, you can specify filtering, sorting, and grouping criteria in XAML or code by using a . + ]]> Sorting and Filtering Items in a View Sample @@ -1802,41 +1800,40 @@ ListBox that contains multiple types of objects Gets or sets the template that defines the panel that controls the layout of items. An that defines the panel to use for the layout of the items. The default value for the is an that specifies a . - , the default specifies the . For , the default uses . For , the default uses . - - To affect the layout of the items in an , you use this property to specify a . - - The provides great flexibility for visual customization and provides many styling and templating properties. You use the property or the property to set a style to affect the appearance of the elements that contain the data items. For example, for , the generated containers are controls; for , they are controls. If you are using grouping on your control, you can use the or property. To specify the visualization of the data objects, use the or the property. For more information, see [Data Templating Overview](/dotnet/framework/wpf/data/data-templating-overview). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - - - -## Examples - To create a horizontal , you can create a template that specifies a horizontal and set it as the property. The following example shows a that creates a horizontal . - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentPresenter/Overview/Window1.xaml" id="Snippetitemspanel"::: - - The following example uses a to create a horizontal that has rounded corners. In this example, instead of setting the property as in previous example, the horizontal is specified within the . The property is set to `true` on the , indicating that the generated items should go in the panel. When you specify it this way, the cannot be replaced by the user of the control without using a . Therefore, only do this if you know you would not want the panel to be replaced without the use of a template. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/window1.xaml" id="Snippetlistboxct"::: - - Alternatively, you can do the following to achieve the same results. In this case, the creates the panel for the layout of the items based on what is specified by the . - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Property/Page1.xaml" id="Snippetitemspaneltemplate"::: - + , the default specifies the . For , the default uses . For , the default uses . + + To affect the layout of the items in an , you use this property to specify a . + + The provides great flexibility for visual customization and provides many styling and templating properties. You use the property or the property to set a style to affect the appearance of the elements that contain the data items. For example, for , the generated containers are controls; for , they are controls. If you are using grouping on your control, you can use the or property. To specify the visualization of the data objects, use the or the property. For more information, see [Data Templating Overview](/dotnet/framework/wpf/data/data-templating-overview). + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + + + +## Examples + To create a horizontal , you can create a template that specifies a horizontal and set it as the property. The following example shows a that creates a horizontal . + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentPresenter/Overview/Window1.xaml" id="Snippetitemspanel"::: + + The following example uses a to create a horizontal that has rounded corners. In this example, instead of setting the property as in previous example, the horizontal is specified within the . The property is set to `true` on the , indicating that the generated items should go in the panel. When you specify it this way, the cannot be replaced by the user of the control without using a . Therefore, only do this if you know you would not want the panel to be replaced without the use of a template. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/window1.xaml" id="Snippetlistboxct"::: + + Alternatively, you can do the following to achieve the same results. In this case, the creates the panel for the layout of the items based on what is specified by the . + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Property/Page1.xaml" id="Snippetitemspaneltemplate"::: + ]]> - Introduction to Styling and Templating Sample @@ -1900,40 +1897,40 @@ ListBox that contains multiple types of objects Gets or sets a collection used to generate the content of the . A collection that is used to generate the content of the . The default is . - . - - A common scenario is to use an such as a , , or to display a data collection, or to bind an to a collection object. To bind an to a collection object, use the property. Note that the property supports binding by default. - - When the property is set, the collection is made read-only and fixed-size. - - When is in use, setting the property to `null` removes the collection and restores usage to , which will be an empty . When is not in use, the value of this property is `null`, and setting it to `null` has no effect. - + . + + A common scenario is to use an such as a , , or to display a data collection, or to bind an to a collection object. To bind an to a collection object, use the property. Note that the property supports binding by default. + + When the property is set, the collection is made read-only and fixed-size. + + When is in use, setting the property to `null` removes the collection and restores usage to , which will be an empty . When is not in use, the value of this property is `null`, and setting it to `null` has no effect. + > [!NOTE] -> In most cases you do not need to implement your own collections. Instead, consider using or other existing collections. For more information, see the "Collection Objects Used as Binding Source" in [Binding Sources Overview](/dotnet/framework/wpf/data/binding-sources-overview). - - -## XAML Attribute Usage - -``` - -``` - - -## XAML Values - *bindingDeclaration* - A declaration. See [Binding Markup Extension](/dotnet/framework/wpf/advanced/binding-markup-extension) for more information. - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - +> In most cases you do not need to implement your own collections. Instead, consider using or other existing collections. For more information, see the "Collection Objects Used as Binding Source" in [Binding Sources Overview](/dotnet/framework/wpf/data/binding-sources-overview). + + +## XAML Attribute Usage + +``` + +``` + + +## XAML Values + *bindingDeclaration* + A declaration. See [Binding Markup Extension](/dotnet/framework/wpf/advanced/binding-markup-extension) for more information. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -1995,18 +1992,18 @@ ListBox that contains multiple types of objects Gets or sets a composite string that specifies how to format the items in the if they are displayed as strings. A composite string that specifies how to format the items in the if they are displayed as strings. - can be a predefined, composite, or custom string format. For more information about string formats, see [Formatting Types](/dotnet/standard/base-types/formatting-types). If you set the or of a , the property is ignored. - - - -## Examples - The following example uses the to specify the format of a list of objects. - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentControl/ContentStringFormat/Window1.xaml" id="Snippetitemscontrol"::: - + can be a predefined, composite, or custom string format. For more information about string formats, see [Formatting Types](/dotnet/standard/base-types/formatting-types). If you set the or of a , the property is ignored. + + + +## Examples + The following example uses the to specify the format of a list of objects. + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ContentControl/ContentStringFormat/Window1.xaml" id="Snippetitemscontrol"::: + ]]> @@ -2068,69 +2065,69 @@ ListBox that contains multiple types of objects Gets or sets the used to display each item. A that specifies the visualization of the data objects. The default is . - to specify the visualization of the data objects. If your is bound to a collection object and you do not provide specific display instructions using a , the resulting UI of each item is a string representation of each object in the underlying collection. - - When you set an on an , the UI is generated as follows (using the as an example): - -1. During content generation, the initiates a request for the to create a container for each data item. For , the container is a . The generator calls back into the to prepare the container. - -2. Part of the preparation involves the copying of the of the to be the of the . - -3. Similar to all types, the of a contains a . When the template is applied, it creates a whose is bound to the of the . - -4. Finally, the applies that to itself, and that creates the UI. - - If you have more than one defined and you want to supply logic to programmatically choose and apply a , use the property. - - The provides great flexibility for visual customization and provides many styling and templating properties. Use the property or the property to set a style to affect the appearance of the elements that contain the data items. For example, for , the generated containers are controls; for , they are controls. To affect the layout of the items, use the property. If you are using grouping on your control, you can use the or property. - - For more information, see [Data Templating Overview](/dotnet/framework/wpf/data/data-templating-overview). - - -## XAML Attribute Usage - -``` - -``` - - -## XAML Values - *ResourceExtension* - One of the following: [StaticResource Markup Extension](/dotnet/framework/wpf/advanced/staticresource-markup-extension), or [DynamicResource Markup Extension](/dotnet/framework/wpf/advanced/dynamicresource-markup-extension). Unless the styles themselves contain references to potential run-time references such as system resources or user preferences, [StaticResource Markup Extension](/dotnet/framework/wpf/advanced/staticresource-markup-extension) reference to a style is usually recommended for performance. - - *TemplateResourceKey* - [x:Key Directive](/dotnet/framework/xaml-services/x-key-directive) string value referring to the template being requested as a resource. - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - - - -## Examples - The following example shows how to create a inline. The specifies that each data item appears as three elements within a . In this example, the data object is a class called `Task`. Note that each element in this template is bound to a property of the `Task` class. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/DataTemplate/Overview/Window1.xaml" id="Snippetinline"::: - - It is more common to define a in the resources section so it can be a reusable object, as in the following example: - - :::code language="xaml" source="~/snippets/csharp/System.Windows/DataTemplate/Overview/Window1.xaml" id="Snippetr1"::: -:::code language="xaml" source="~/snippets/csharp/System.Windows/DataTemplate/Overview/Window1.xaml" id="Snippetasresource"::: -:::code language="xaml" source="~/snippets/csharp/System.Windows/DataTemplate/Overview/Window1.xaml" id="Snippetr2"::: - - Now you can use `myTaskTemplate` as a resource, as in the following example: - - :::code language="xaml" source="~/snippets/csharp/System.Windows/DataTemplate/Overview/Window1.xaml" id="Snippetmytasktemplate"::: - - For the complete sample, see [Introduction to Data Templating Sample](https://go.microsoft.com/fwlink/?LinkID=160009). - + to specify the visualization of the data objects. If your is bound to a collection object and you do not provide specific display instructions using a , the resulting UI of each item is a string representation of each object in the underlying collection. + + When you set an on an , the UI is generated as follows (using the as an example): + +1. During content generation, the initiates a request for the to create a container for each data item. For , the container is a . The generator calls back into the to prepare the container. + +2. Part of the preparation involves the copying of the of the to be the of the . + +3. Similar to all types, the of a contains a . When the template is applied, it creates a whose is bound to the of the . + +4. Finally, the applies that to itself, and that creates the UI. + + If you have more than one defined and you want to supply logic to programmatically choose and apply a , use the property. + + The provides great flexibility for visual customization and provides many styling and templating properties. Use the property or the property to set a style to affect the appearance of the elements that contain the data items. For example, for , the generated containers are controls; for , they are controls. To affect the layout of the items, use the property. If you are using grouping on your control, you can use the or property. + + For more information, see [Data Templating Overview](/dotnet/framework/wpf/data/data-templating-overview). + + +## XAML Attribute Usage + +``` + +``` + + +## XAML Values + *ResourceExtension* + One of the following: [StaticResource Markup Extension](/dotnet/framework/wpf/advanced/staticresource-markup-extension), or [DynamicResource Markup Extension](/dotnet/framework/wpf/advanced/dynamicresource-markup-extension). Unless the styles themselves contain references to potential run-time references such as system resources or user preferences, [StaticResource Markup Extension](/dotnet/framework/wpf/advanced/staticresource-markup-extension) reference to a style is usually recommended for performance. + + *TemplateResourceKey* + [x:Key Directive](/dotnet/framework/xaml-services/x-key-directive) string value referring to the template being requested as a resource. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + + + +## Examples + The following example shows how to create a inline. The specifies that each data item appears as three elements within a . In this example, the data object is a class called `Task`. Note that each element in this template is bound to a property of the `Task` class. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/DataTemplate/Overview/Window1.xaml" id="Snippetinline"::: + + It is more common to define a in the resources section so it can be a reusable object, as in the following example: + + :::code language="xaml" source="~/snippets/csharp/System.Windows/DataTemplate/Overview/Window1.xaml" id="Snippetr1"::: +:::code language="xaml" source="~/snippets/csharp/System.Windows/DataTemplate/Overview/Window1.xaml" id="Snippetasresource"::: +:::code language="xaml" source="~/snippets/csharp/System.Windows/DataTemplate/Overview/Window1.xaml" id="Snippetr2"::: + + Now you can use `myTaskTemplate` as a resource, as in the following example: + + :::code language="xaml" source="~/snippets/csharp/System.Windows/DataTemplate/Overview/Window1.xaml" id="Snippetmytasktemplate"::: + + For the complete sample, see [Introduction to Data Templating Sample](https://go.microsoft.com/fwlink/?LinkID=160009). + ]]> @@ -2198,56 +2195,56 @@ ListBox that contains multiple types of objects Gets or sets the custom logic for choosing a template used to display each item. A custom object that provides logic and returns a . The default is . - to specify the visualization of the data objects. If you have more than one template defined and want to supply logic to return a template to use, then you use this property. Note that this property is ignored if is set. - - The provides great flexibility for visual customization and provides many styling and templating properties. Use the property or the property to set a style to affect the appearance of the elements that contain the data items. For example, for , the generated containers are controls; for , they are controls. To affect the layout of the items, use the property. If you are using grouping on your control, you can use the or property. - - For more information, see [Data Templating Overview](/dotnet/framework/wpf/data/data-templating-overview). - - -## XAML Attribute Usage - -``` - -``` - - -## XAML Values - *ResourceExtension* - One of the following: `StaticResource`, or `DynamicResource`. Unless the styles themselves contain references to potential run-time references such as system resources or user preferences, `StaticResource` reference to a style is usually recommended for performance. - - *SelectorResourceKey* - `x:Key` string value referring to the selector being requested as a resource. - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - - - -## Examples - In the following example, the `auctionItemDataTemplateSelector` resource name (corresponding to an `AuctionItemDataTemplateSelector` class) is assigned to the property of the . - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ItemsControl/ItemTemplateSelector/Window1.xaml" id="Snippetitemtemplateselector"::: - - The following example shows the implementation of the `AuctionItemDataTemplateSelector` class with an override of the method: - + to specify the visualization of the data objects. If you have more than one template defined and want to supply logic to return a template to use, then you use this property. Note that this property is ignored if is set. + + The provides great flexibility for visual customization and provides many styling and templating properties. Use the property or the property to set a style to affect the appearance of the elements that contain the data items. For example, for , the generated containers are controls; for , they are controls. To affect the layout of the items, use the property. If you are using grouping on your control, you can use the or property. + + For more information, see [Data Templating Overview](/dotnet/framework/wpf/data/data-templating-overview). + + +## XAML Attribute Usage + +``` + +``` + + +## XAML Values + *ResourceExtension* + One of the following: `StaticResource`, or `DynamicResource`. Unless the styles themselves contain references to potential run-time references such as system resources or user preferences, `StaticResource` reference to a style is usually recommended for performance. + + *SelectorResourceKey* + `x:Key` string value referring to the selector being requested as a resource. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + + + +## Examples + In the following example, the `auctionItemDataTemplateSelector` resource name (corresponding to an `AuctionItemDataTemplateSelector` class) is assigned to the property of the . + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/ItemsControl/ItemTemplateSelector/Window1.xaml" id="Snippetitemtemplateselector"::: + + The following example shows the implementation of the `AuctionItemDataTemplateSelector` class with an override of the method: + :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/ItemsControl/ItemTemplateSelector/AuctionItemDataTemplateSelector.cs" id="Snippetdatatemplateselector"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/DataTemplateSelector/visualbasic/auctionitemdatatemplateselector.vb" id="Snippetdatatemplateselector"::: - - In this case, within the method of the class, there is logic to return the appropriate template based on the value of the `SpecialFeatures` property of the `item` object passed. The template to return is found in the resources of the enveloping element. - - When you set the property, the is directed to automatically call the method of `AuctionItemDataTemplateSelector` for each of the items in the collection to which the is bound. The call passes the data item as an object. The that is returned by the method is then used to display that data item. - - For another example, see [Data Templating Overview](/dotnet/framework/wpf/data/data-templating-overview). - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/DataTemplateSelector/visualbasic/auctionitemdatatemplateselector.vb" id="Snippetdatatemplateselector"::: + + In this case, within the method of the class, there is logic to return the appropriate template based on the value of the `SpecialFeatures` property of the `item` object passed. The template to return is found in the resources of the enveloping element. + + When you set the property, the is directed to automatically call the method of `AuctionItemDataTemplateSelector` for each of the items in the collection to which the is bound. The call passes the data item as an object. The that is returned by the method is then used to display that data item. + + For another example, see [Data Templating Overview](/dotnet/framework/wpf/data/data-templating-overview). + ]]> Introduction to Data Templating Sample @@ -2778,11 +2775,11 @@ ListBox that contains multiple types of objects Specified item. Prepares the specified element to display the specified item. - diff --git a/xml/System.Windows.Controls/ListView.xml b/xml/System.Windows.Controls/ListView.xml index 703f4a772ed..9ae6710510b 100644 --- a/xml/System.Windows.Controls/ListView.xml +++ b/xml/System.Windows.Controls/ListView.xml @@ -29,41 +29,41 @@ Represents a control that displays a list of data items. - is an , which means it can contain a collection of objects of any type (such as string, image, or panel). For more information, see the class. - - The presentation of the data items in a is defined by its view mode, which is specified by the property. Windows Presentation Foundation (WPF) provides a view mode that partitions the data item content into columns. The properties and methods on and its related classes style and specify the content of the columns. - - The following illustration shows a with a view. - - ![ListView with GridView output](~/add/media/listviewgridview.JPG "ListView with GridView output") - - You can also define custom views by creating a class that derives from . For more information, see [How to: Create a Custom View Mode for a ListView](/dotnet/framework/wpf/controls/how-to-create-a-custom-view-mode-for-a-listview). - - If you define a custom for a control and also define an , you must include a in the . The is required for the to work correctly. - - To avoid alignment issues in a view mode, do not add content or set properties that affect the width of an item in the of a . To prevent alignment issues, use properties and templates that are defined for the view mode. This includes properties and templates that are defined for classes that are used in a view mode, such as and . - - Two controls cannot share the same view. To specify a view that can be used more than one time, use templates or styles. For an example of a and other custom views that are defined as reusable resources, see [ListView with Multiple Views Sample](https://go.microsoft.com/fwlink/?LinkID=160013). - - Do not use the and properties for content that is displayed by using a . To specify the alignment of content in a column of a , define a . - - Displaying a large number of items may cause performance issues. See [Optimizing Performance: Controls](/dotnet/framework/wpf/advanced/optimizing-performance-controls) for more information. - -## Customizing the ListView Control - To apply the same property settings to multiple controls, use the property. You can modify the default to give the control a unique appearance. For more information about creating a , see [Customizing the Appearance of an Existing Control by Creating a ControlTemplate](/dotnet/framework/wpf/controls/customizing-the-appearance-of-an-existing-control). To see the parts and states that are specific to the , see [ListView Styles and Templates](/dotnet/framework/wpf/controls/listview-styles-and-templates). - + is an , which means it can contain a collection of objects of any type (such as string, image, or panel). For more information, see the class. + + The presentation of the data items in a is defined by its view mode, which is specified by the property. Windows Presentation Foundation (WPF) provides a view mode that partitions the data item content into columns. The properties and methods on and its related classes style and specify the content of the columns. + + The following illustration shows a with a view. + + ![ListView with GridView output](~/add/media/listviewgridview.JPG "ListView with GridView output") + + You can also define custom views by creating a class that derives from . For more information, see [How to: Create a Custom View Mode for a ListView](/dotnet/framework/wpf/controls/how-to-create-a-custom-view-mode-for-a-listview). + + If you define a custom for a control and also define an , you must include a in the . The is required for the to work correctly. + + To avoid alignment issues in a view mode, do not add content or set properties that affect the width of an item in the of a . To prevent alignment issues, use properties and templates that are defined for the view mode. This includes properties and templates that are defined for classes that are used in a view mode, such as and . + + Two controls cannot share the same view. To specify a view that can be used more than one time, use templates or styles. + + Do not use the and properties for content that is displayed by using a . To specify the alignment of content in a column of a , define a . + + Displaying a large number of items may cause performance issues. See [Optimizing Performance: Controls](/dotnet/framework/wpf/advanced/optimizing-performance-controls) for more information. + +## Customizing the ListView Control + To apply the same property settings to multiple controls, use the property. You can modify the default to give the control a unique appearance. For more information about creating a , see [Customizing the Appearance of an Existing Control by Creating a ControlTemplate](/dotnet/framework/wpf/controls/customizing-the-appearance-of-an-existing-control). To see the parts and states that are specific to the , see [ListView Styles and Templates](/dotnet/framework/wpf/controls/listview-styles-and-templates). + Dependency properties for this control might be set by the control's default style. If a property is set by a default style, the property might change from its default value when the control appears in the application. The default style is determined by which desktop theme is used when the application is running. - -[!INCLUDE[setting-a-visual-property](~/includes/visual-property-note.md)] - -## Examples - The following example shows how to create a control that implements a as its . The illustration in the Remarks section is taken from this example. - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/GridView/Overview/Window1.xaml" id="Snippetlistviewemployee"::: - + +[!INCLUDE[setting-a-visual-property](~/includes/visual-property-note.md)] + +## Examples + The following example shows how to create a control that implements a as its . The illustration in the Remarks section is taken from this example. + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/GridView/Overview/Window1.xaml" id="Snippetlistviewemployee"::: + ]]> @@ -247,11 +247,11 @@ The event arguments. Responds to an . - control. - + control. + ]]> @@ -286,11 +286,11 @@ The object to use to create the . Sets the styles, templates, and bindings for a . - control for display according to the specified . - + control for display according to the specified . + ]]> @@ -320,31 +320,31 @@ Gets or sets an object that defines how the data is styled and organized in a control. A object that specifies how to display information in the . - . You can also create a custom view that inherits from . For more information, see [How to: Create a Custom View Mode for a ListView](/dotnet/framework/wpf/controls/how-to-create-a-custom-view-mode-for-a-listview). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + . You can also create a custom view that inherits from . For more information, see [How to: Create a Custom View Mode for a ListView](/dotnet/framework/wpf/controls/how-to-create-a-custom-view-mode-for-a-listview). + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + > [!NOTE] -> The type of property metadata for this property is , not . - - - -## Examples - The following example shows how to specify a object as the for a control. - +> The type of property metadata for this property is , not . + + + +## Examples + The following example shows how to specify a object as the for a control. + :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/GridView/Overview/Window1.xaml.cs" id="Snippetlistviewview"::: :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ListViewCode/visualbasic/window1.xaml.vb" id="Snippetlistviewview"::: - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/GridView/Overview/Window1.xaml" id="Snippetlistviewview"::: - + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/GridView/Overview/Window1.xaml" id="Snippetlistviewview"::: + ]]> diff --git a/xml/System.Windows.Controls/Panel.xml b/xml/System.Windows.Controls/Panel.xml index ffbeda43080..81b5386dfdf 100644 --- a/xml/System.Windows.Controls/Panel.xml +++ b/xml/System.Windows.Controls/Panel.xml @@ -37,24 +37,24 @@ Provides a base class for all elements. Use elements to position and arrange child objects in Windows Presentation Foundation (WPF) applications. - contains a collection of objects, which are in the property. Adding a child to a implicitly adds it to the for the element. - - WPF provides a comprehensive suite of derived implementations, enabling many complex layouts. If you want to implement new layout containers, use the and methods. For a demonstration of how to use these methods, see [Create a Custom Content-Wrapping Panel Sample](https://go.microsoft.com/fwlink/?LinkID=159979). - - elements do not receive mouse or stylus events if a is not defined. If you need to handle mouse or stylus events but do not want a background for your , use . - + contains a collection of objects, which are in the property. Adding a child to a implicitly adds it to the for the element. + + WPF provides a comprehensive suite of derived implementations, enabling many complex layouts. If you want to implement new layout containers, use the and methods. + + elements do not receive mouse or stylus events if a is not defined. If you need to handle mouse or stylus events but do not want a background for your , use . + Panel elements do not receive focus by default. To compel a panel element to receive focus, set the property to `true`. - -## Examples - The following example shows how to use the property to add two objects to a . - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/Panel/Overview/StackPanelExample.xaml" id="Snippetstackpanelexamplewholepage"::: - :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/Panel/Overview/StackpanelExample.cs" id="Snippetstackpanelexamplewholepage"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Stackpanel_Procedural_snip/visualbasic/stackpanelexample.vb" id="Snippetstackpanelexamplewholepage"::: - + +## Examples + The following example shows how to use the property to add two objects to a . + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/Panel/Overview/StackPanelExample.xaml" id="Snippetstackpanelexamplewholepage"::: + :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/Panel/Overview/StackpanelExample.cs" id="Snippetstackpanelexamplewholepage"::: + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Stackpanel_Procedural_snip/visualbasic/stackpanelexample.vb" id="Snippetstackpanelexamplewholepage"::: + ]]> How to: Create a Custom Panel Element @@ -109,26 +109,26 @@ Gets or sets a that is used to fill the area between the borders of a . A . This default value is . - elements do not receive mouse or stylus events if a is not defined. If you need to handle mouse or stylus events but do not want a background for your , use . - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|, | - - - -## Examples - The following example sets the of a to a . - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/Panel/Background/mainwindow.xaml" id="Snippet1"::: - + elements do not receive mouse or stylus events if a is not defined. If you need to handle mouse or stylus events but do not want a background for your , use . + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|, | + + + +## Examples + The following example sets the of a to a . + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/Panel/Background/mainwindow.xaml" id="Snippet1"::: + ]]> @@ -196,23 +196,23 @@ Gets a of child elements of this . A . The default is an empty . - collection of a element can only consist of objects. Adding a child to a implicitly adds it to the for the element. - - Do not use this collection with derived classes; use the collection instead. - - This property returns `null` if the is data bound. - - - -## Examples - The following code example demonstrates how to use the property to add a child to a element. - + collection of a element can only consist of objects. Adding a child to a implicitly adds it to the for the element. + + Do not use this collection with derived classes; use the collection instead. + + This property returns `null` if the is data bound. + + + +## Examples + The following code example demonstrates how to use the property to add a child to a element. + :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/Panel/Children/Window1.xaml.cs" id="Snippetframenavigatesetup"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/FrameSnips/visualbasic/window1.xaml.vb" id="Snippetframenavigatesetup"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/FrameSnips/visualbasic/window1.xaml.vb" id="Snippetframenavigatesetup"::: + ]]> @@ -247,11 +247,11 @@ Creates a new . An ordered collection of elements that have the specified logical parent. - to cache information about child elements or to perform incremental layout updates. - + to cache information about child elements or to perform incremental layout updates. + ]]> Add an Element Dynamically @@ -348,11 +348,11 @@ if the orientation of the is in one dimension; otherwise, . - returns `true`, because its orientation is in a single dimension. Subclasses of can override this property. - + returns `true`, because its orientation is in a single dimension. Subclasses of can override this property. + ]]> @@ -383,11 +383,11 @@ if the orientation of the is in one dimension; otherwise, . - returns `true`, because its orientation is in a single dimension. - + returns `true`, because its orientation is in a single dimension. + ]]> @@ -417,16 +417,15 @@ Gets a of child elements. An ordered collection of objects. This property has no default value. - should use this property, instead of the property, for internal overrides such as and . - + should use this property, instead of the property, for internal overrides such as and . + ]]> - Create a Custom Content-Wrapping Panel Sample @@ -465,30 +464,30 @@ if this instance of is an items host; otherwise, . The default value is . - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|| - - - -## Examples - The following example uses a to create a horizontal . The horizontal is specified within the . The property is set to `true` on the , which indicates that the generated items should be placed in the panel. When you specify it this way, the cannot be replaced by the user of the control without using a . Therefore, do this only if you know that you do not want the panel to be replaced without the use of a template. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/window1.xaml" id="Snippetlistboxct"::: - - Alternatively, you can set the property. The following example sets the in a of a . - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/Panel/IsItemsHost/window1.xaml" id="Snippet1"::: - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|| + + + +## Examples + The following example uses a to create a horizontal . The horizontal is specified within the . The property is set to `true` on the , which indicates that the generated items should be placed in the panel. When you specify it this way, the cannot be replaced by the user of the control without using a . Therefore, do this only if you know that you do not want the panel to be replaced without the use of a template. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/window1.xaml" id="Snippetlistboxct"::: + + Alternatively, you can set the property. The following example sets the in a of a . + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Controls/Panel/IsItemsHost/window1.xaml" id="Snippet1"::: + ]]> @@ -574,11 +573,11 @@ The of the panel, if the panel supports layout in only a single dimension. The of the panel. This property has no default value. - can override this property. If is `false`, this property value should be ignored. - + can override this property. If is `false`, this property value should be ignored. + ]]> @@ -608,11 +607,11 @@ The of the panel, if the panel supports layout in only a single dimension. The of the panel. This property has no default value. - is `false`, this property value should be ignored. - + is `false`, this property value should be ignored. + ]]> @@ -710,11 +709,11 @@ The that was removed from the collection. Invoked when the of a visual object is modified. - values are automatically recalculated when child elements are added to or removed from the collection. - + values are automatically recalculated when child elements are added to or removed from the collection. + ]]> @@ -751,22 +750,22 @@ The order on the z-plane in which this element appears. Sets the value of the attached property for a given element. - collection that have equal values are rendered in the order in which they appear in the visual tree. You can determine the index position of a child by iterating the members of the collection. - - - -## Examples - The following example demonstrates in code how to set the value of the property (by using the method). - + collection that have equal values are rendered in the order in which they appear in the visual tree. You can determine the index position of a child by iterating the members of the collection. + + + +## Examples + The following example demonstrates in code how to set the value of the property (by using the method). + :::code language="cpp" source="~/snippets/cpp/VS_Snippets_Wpf/CanvasZ-Order/CPP/CanvasZ-Order.cpp" id="Snippet2"::: :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/Panel/SetZIndex/CanvasZ-Order.cs" id="Snippet2"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/CanvasZ-Order/VisualBasic/CanvasZ-Order.vb" id="Snippet2"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/CanvasZ-Order/VisualBasic/CanvasZ-Order.vb" id="Snippet2"::: + ]]> The element is . @@ -920,30 +919,30 @@ Gets or sets a value that represents the order on the z-plane in which an element appears. - collection that have equal values are rendered in the order in which they appear in the visual tree. You can determine the index position of a child by iterating the members of the collection. - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - - - -## Examples - The following example demonstrates how to set the value of the property by using Extensible Application Markup Language (XAML) and code. - + collection that have equal values are rendered in the order in which they appear in the visual tree. You can determine the index position of a child by iterating the members of the collection. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + + + +## Examples + The following example demonstrates how to set the value of the property by using Extensible Application Markup Language (XAML) and code. + :::code language="cpp" source="~/snippets/cpp/VS_Snippets_Wpf/CanvasZ-Order/CPP/CanvasZ-Order.cpp" id="Snippet1"::: :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/Panel/SetZIndex/CanvasZ-Order.cs" id="Snippet1"::: - :::code language="xml" source="~/snippets/xaml/VS_Snippets_Wpf/CanvasZ-Order/XAML/default.xaml" id="Snippet1"::: - + :::code language="xml" source="~/snippets/xaml/VS_Snippets_Wpf/CanvasZ-Order/XAML/default.xaml" id="Snippet1"::: + ]]> diff --git a/xml/System.Windows.Media.Animation/DoubleAnimationUsingPath.xml b/xml/System.Windows.Media.Animation/DoubleAnimationUsingPath.xml index 29c2d6e5be9..5167aa0483b 100644 --- a/xml/System.Windows.Media.Animation/DoubleAnimationUsingPath.xml +++ b/xml/System.Windows.Media.Animation/DoubleAnimationUsingPath.xml @@ -22,13 +22,13 @@ Animates the value of a property between two or more target values using a to specify those values. This animation can be used to move a visual object along a path. - uses linear interpolation over a specified . - - is similar to except that it uses a to interpolate over two or more values rather then between only two values like . Although is used for most simple animations involving a Double value, is particularly well suited for animating the position of an object on the screen. - + uses linear interpolation over a specified . + + is similar to except that it uses a to interpolate over two or more values rather then between only two values like . Although is used for most simple animations involving a Double value, is particularly well suited for animating the position of an object on the screen. + ]]> @@ -65,11 +65,11 @@ Initializes a new instance of the class. - so the user must specify one. - + so the user must specify one. + ]]> @@ -101,13 +101,13 @@ Creates a modifiable clone of this , making deep copies of this object's values. When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -173,13 +173,13 @@ Calculates a value that represents the current value of the property being animated, as determined by the . The calculated value of the property, as determined by the current animation. - that is not . - - The `defaultDestinationValue` is the base value if the animation is in the first composition layer of animations on a property; otherwise the value is the output value from the previous composition layer of animations for the property. - + that is not . + + The `defaultDestinationValue` is the base value if the animation is in the first composition layer of animations on a property; otherwise the value is the output value from the previous composition layer of animations for the property. + ]]> @@ -210,21 +210,21 @@ if the target property's current value should be added to this animation's starting value; otherwise, . The default value is . - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + > [!NOTE] -> This dependency property is unusual in that the identifier field for it comes from , and is shared by various derived classes. - +> This dependency property is unusual in that the identifier field for it comes from , and is shared by various derived classes. + ]]> @@ -255,22 +255,22 @@ if the animation accumulates its values when its property causes it to repeat its simple duration. otherwise, . The default value is . - property causes it to repeat its simple duration. It does not accumulate its values when it restarts because its parent repeated or because its clock was restarted from a call. - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + property causes it to repeat its simple duration. It does not accumulate its values when it restarts because its parent repeated or because its clock was restarted from a call. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + > [!NOTE] -> This dependency property is unusual in that the identifier field for it comes from , and is shared by various derived classes. - +> This dependency property is unusual in that the identifier field for it comes from , and is shared by various derived classes. + ]]> @@ -332,23 +332,23 @@ Specifies the geometry used to generate this animation's output values. The path used to generate this animation's output values. The default value is . - markup syntax, see [Path Markup Syntax](/dotnet/framework/wpf/graphics-multimedia/path-markup-syntax). For more examples of creating a path using markup or code, see . - - -## Dependency Property Information - -||| -|-|-| -|Identifier Field|| -|Metadata properties set to `true`|None| - + markup syntax, see [Path Markup Syntax](/dotnet/framework/wpf/graphics-multimedia/path-markup-syntax). For more examples of creating a path using markup or code, see . + + +## Dependency Property Information + +||| +|-|-| +|Identifier Field|| +|Metadata properties set to `true`|None| + ]]> @@ -405,21 +405,20 @@ Gets or sets the aspect of this animation's that determines its output value. The aspect of this animation's that determines its output value. The default value is . - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> - Path Animation Sample diff --git a/xml/System.Windows.Media.Animation/PathAnimationSource.xml b/xml/System.Windows.Media.Animation/PathAnimationSource.xml index 5ea23fbabd7..8ed3b199629 100644 --- a/xml/System.Windows.Media.Animation/PathAnimationSource.xml +++ b/xml/System.Windows.Media.Animation/PathAnimationSource.xml @@ -21,17 +21,16 @@ Specifies the output property value of the path that is used to drive the animation. - ) using a of `Y`, then the animation will animate the x-coordinate of the object using the y-coordinates of the path. - + ) using a of `Y`, then the animation will animate the x-coordinate of the object using the y-coordinates of the path. + ]]> - Path Animation Sample diff --git a/xml/System.Windows.Media.Media3D/AmbientLight.xml b/xml/System.Windows.Media.Media3D/AmbientLight.xml index 7c0ebdeee6d..64c3342dbdb 100644 --- a/xml/System.Windows.Media.Media3D/AmbientLight.xml +++ b/xml/System.Windows.Media.Media3D/AmbientLight.xml @@ -22,26 +22,25 @@ Light object that applies light to objects uniformly, regardless of their shape. - does not have a specified position in space. - - - -## Examples - The following code excerpt shows how to create an AmbientLight. - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Media.Media3D/AmbientLight/Overview/Window1.xaml" id="Snippethittest3d3dn6"::: - - The following example creates an AmbientLight in code. - + does not have a specified position in space. + + + +## Examples + The following code excerpt shows how to create an AmbientLight. + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Media.Media3D/AmbientLight/Overview/Window1.xaml" id="Snippethittest3d3dn6"::: + + The following example creates an AmbientLight in code. + :::code language="csharp" source="~/snippets/csharp/System.Windows.Media.Media3D/AmbientLight/Overview/MyLights.cs" id="Snippetshow3dlights3dn1"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Show3DLights/visualbasic/mylights.vb" id="Snippetshow3dlights3dn1"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Show3DLights/visualbasic/mylights.vb" id="Snippetshow3dlights3dn1"::: + ]]> - 3-D Lights Sample @@ -74,14 +73,14 @@ Initializes a new instance of the class. - @@ -111,12 +110,12 @@ Color of the new light. Initializes a new instance of the class with the specified color. - @@ -147,13 +146,13 @@ Creates a modifiable clone of this , making deep copies of this object's values. When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -184,13 +183,13 @@ Creates a modifiable clone of this object, making deep copies of this object's current values. Resource references, data bindings, and animations are not copied, but their current values are. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> diff --git a/xml/System.Windows.Media.Media3D/ContainerUIElement3D.xml b/xml/System.Windows.Media.Media3D/ContainerUIElement3D.xml index dd746b76120..77fb8aaa17f 100644 --- a/xml/System.Windows.Media.Media3D/ContainerUIElement3D.xml +++ b/xml/System.Windows.Media.Media3D/ContainerUIElement3D.xml @@ -28,31 +28,29 @@ Represents a container for objects. - collection of a element can only consist of objects. Adding a child to a implicitly adds it to the for the element. - - does not have a visual representation; it serves as a container for other visual 3-D objects. is a object, which provides support for input, focus, and events in 3-D. - - This class does not set the property. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - - -## Examples - In the following example, the object contains two cubes as its children: - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Media.Media3D/ContainerUIElement3D/Overview/Window1.xaml" id="Snippetviewport3d"::: - - The following shows the event handler of the container: - + collection of a element can only consist of objects. Adding a child to a implicitly adds it to the for the element. + + does not have a visual representation; it serves as a container for other visual 3-D objects. is a object, which provides support for input, focus, and events in 3-D. + + This class does not set the property. + + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + + + +## Examples + In the following example, the object contains two cubes as its children: + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Media.Media3D/ContainerUIElement3D/Overview/Window1.xaml" id="Snippetviewport3d"::: + + The following shows the event handler of the container: + :::code language="csharp" source="~/snippets/csharp/System.Windows.Media.Media3D/ContainerUIElement3D/Overview/Window1.xaml.cs" id="Snippetcontainermousedown"::: :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ContainerModelSample/visualbasic/window1.xaml.vb" id="Snippetcontainermousedown"::: - - For the complete sample, see [Handling Events in 3-D Sample](https://go.microsoft.com/fwlink/?LinkID=159992) . - + ]]> @@ -78,11 +76,11 @@ Initializes a new instance of the class. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -118,13 +116,13 @@ Gets a of child elements of this object. A of child elements. The default is an empty collection. - collection of a element can only consist of objects. Adding a child to a implicitly adds it to the for the element. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + collection of a element can only consist of objects. Adding a child to a implicitly adds it to the for the element. + + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> diff --git a/xml/System.Windows.Media.Media3D/EmissiveMaterial.xml b/xml/System.Windows.Media.Media3D/EmissiveMaterial.xml index 23a4f9e8487..99414dff0f4 100644 --- a/xml/System.Windows.Media.Media3D/EmissiveMaterial.xml +++ b/xml/System.Windows.Media.Media3D/EmissiveMaterial.xml @@ -21,18 +21,17 @@ - Applies a to a 3-D model so that it participates in lighting calculations as if the were emitting light equal to the color of the . + Applies a to a 3D model so that it participates in lighting calculations as if the were emitting light equal to the color of the . - adds its color to any existing material applied to the model. - + adds its color to any existing material applied to the model. + ]]> - 3-D Lights Sample @@ -94,7 +93,6 @@ To be added. - 3-D Lights Sample @@ -122,24 +120,23 @@ Gets or sets the applied by the . The brush applied by the . The default value is . - , its material might not render as expected. The only exception is when the Material's Brush property specifies a ; in this case, the Material will be rendered using a default set of texture coordinates. - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + , its material might not render as expected. The only exception is when the Material's Brush property specifies a ; in this case, the Material will be rendered using a default set of texture coordinates. + + +## Dependency Property Information + +| | | +|-----------------------------------|--------------------------------------------------------------------| +| Identifier field | | +| Metadata properties set to `true` | None | + ]]> - 3-D Lights Sample @@ -194,13 +191,13 @@ Creates a modifiable clone of this , making deep copies of this object's values. When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -231,13 +228,13 @@ Creates a modifiable clone of this object, making deep copies of this object's current values. Resource references, data bindings, and animations are not copied, but their current values are. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -267,28 +264,27 @@ Gets or sets the color filter for the material's texture. The color filter for the . - property is a filter on the texture. - - Set the property to control how the material reflects ambient light. - - The color of the light that appears to be emitted from the can also be specified by using the property. - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + property is a filter on the texture. + + Set the property to control how the material reflects ambient light. + + The color of the light that appears to be emitted from the can also be specified by using the property. + + +## Dependency Property Information + +| | | +|-----------------------------------|--------------------------------------------------------------------| +| Identifier field | | +| Metadata properties set to `true` | None | + ]]> - 3-D Lights Sample @@ -315,11 +311,11 @@ Identifies the dependency property. - dependency property. - + dependency property. + ]]> diff --git a/xml/System.Windows.Media.Media3D/Matrix3D.xml b/xml/System.Windows.Media.Media3D/Matrix3D.xml index 02e7a60dd82..e55d5688aa8 100644 --- a/xml/System.Windows.Media.Media3D/Matrix3D.xml +++ b/xml/System.Windows.Media.Media3D/Matrix3D.xml @@ -41,122 +41,121 @@ Represents a 4 x 4 matrix used for transformations in 3-D space. - has the following row-vector syntax: - -||||| -|-|-|-|-| -||||| -||||| -||||| -||||| - - Note that because the fourth column is also accessible, the matrix allows developers to represent affine as well as non-affine transforms. - - Matrices can be appended or prepended to other matrices. Appending matrix A to matrix B denotes a transformation by B and then by A: - - -## XAML Attribute Usage - -``` - -- or - - -``` - - -## XAML Values - *M11* - - - The value in the first row and first column of this . For more information, see the property. - - *M12* - - - The value in the first row and second column of this . For more information, see the property. - - *M13* - - - The value in the first row and third column of this . For more information, see the property. - - *M14* - - - The value in the first row and fourth column of this . For more information, see the property. - - *M21* - - - The value in the second row and first column of this . For more information, see the property. - - *M22* - - - The value in the second row and second column of this . For more information, see the property. - - *M23* - - - The value in the second row and third column of this . For more information, see the property. - - *M24* - - - The value in the second row and fourth column of this . For more information, see the property. - - *M31* - - - The value in the third row and first column of this . For more information, see the property. - - *M32* - - - The value in the third row and second column of this . For more information, see the property. - - *M33* - - - The value in the third row and third column of this . For more information, see the property. - - *M34* - - - The value in the third row and fourth column of this . For more information, see the property. - - *M44* - - - The value in the fourth row and fourth column of this . For more information, see the property. - - *offsetX* - - - The value in the fourth row and first column of this . For more information, see the property. - - *offsetY* - - - The value in the fourth row and second column of this . For more information, see the property. - - *offsetZ* - - - The value in the fourth row and third column of this . For more information, see the property. - - - -## Examples + has the following row-vector syntax: + +||||| +|-|-|-|-| +||||| +||||| +||||| +||||| + + Note that because the fourth column is also accessible, the matrix allows developers to represent affine as well as non-affine transforms. + + Matrices can be appended or prepended to other matrices. Appending matrix A to matrix B denotes a transformation by B and then by A: + + +## XAML Attribute Usage + +``` + +- or - + +``` + + +## XAML Values + *M11* + + + The value in the first row and first column of this . For more information, see the property. + + *M12* + + + The value in the first row and second column of this . For more information, see the property. + + *M13* + + + The value in the first row and third column of this . For more information, see the property. + + *M14* + + + The value in the first row and fourth column of this . For more information, see the property. + + *M21* + + + The value in the second row and first column of this . For more information, see the property. + + *M22* + + + The value in the second row and second column of this . For more information, see the property. + + *M23* + + + The value in the second row and third column of this . For more information, see the property. + + *M24* + + + The value in the second row and fourth column of this . For more information, see the property. + + *M31* + + + The value in the third row and first column of this . For more information, see the property. + + *M32* + + + The value in the third row and second column of this . For more information, see the property. + + *M33* + + + The value in the third row and third column of this . For more information, see the property. + + *M34* + + + The value in the third row and fourth column of this . For more information, see the property. + + *M44* + + + The value in the fourth row and fourth column of this . For more information, see the property. + + *offsetX* + + + The value in the fourth row and first column of this . For more information, see the property. + + *offsetY* + + + The value in the fourth row and second column of this . For more information, see the property. + + *offsetZ* + + + The value in the fourth row and third column of this . For more information, see the property. + + + +## Examples :::code language="csharp" source="~/snippets/csharp/System.Windows.Media.Media3D/Matrix3D/Overview/Window1.xaml.cs" id="Snippetmil3dvectorsample3dn15"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Vector3DSample/visualbasic/window1.xaml.vb" id="Snippetmil3dvectorsample3dn15"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Vector3DSample/visualbasic/window1.xaml.vb" id="Snippetmil3dvectorsample3dn15"::: + ]]> - Quaternion Viewer Sample @@ -244,34 +243,34 @@ Matrix to append. Appends a specified matrix to the current matrix. - @@ -497,11 +496,11 @@ P' = C.Transform(P); Changes a structure into an identity . The identity Matrix3D. - @@ -531,11 +530,11 @@ P' = C.Transform(P); Inverts this structure. - property. - + property. + ]]> Throws InvalidOperationException if the matrix is not invertible. @@ -595,11 +594,11 @@ P' = C.Transform(P); if the Matrix3D structure is an identity Matrix3D; otherwise, . The default value is . - @@ -1180,11 +1179,11 @@ P' = C.Transform(P); that indicates whether the two matrix instances are equal. - @@ -1221,11 +1220,11 @@ P' = C.Transform(P); that indicates whether the two matrix instances are inequal. - @@ -1602,11 +1601,11 @@ P' = C.Transform(P); Changes this structure into an identity matrix. - @@ -1646,15 +1645,15 @@ P' = C.Transform(P); - The format to use. - - -or- - + The format to use. + + -or- + A null reference ( in Visual Basic) to use the default format defined for the type of the implementation. - The provider to use to format the value. - - -or- - + The provider to use to format the value. + + -or- + A null reference ( in Visual Basic) to obtain the numeric format information from the current locale setting of the operating system. Formats the value of the current instance using the specified format. The value of the current instance in the specified format. diff --git a/xml/System.Windows.Media.Media3D/MeshGeometry3D.xml b/xml/System.Windows.Media.Media3D/MeshGeometry3D.xml index c34e8faa18c..7bd8907cd71 100644 --- a/xml/System.Windows.Media.Media3D/MeshGeometry3D.xml +++ b/xml/System.Windows.Media.Media3D/MeshGeometry3D.xml @@ -23,21 +23,20 @@ Triangle primitive for building a 3-D shape. - property is required. - - Normals are assumed to be associated with the front faces of a mesh primitive. The winding order (the order in which the Positions that make up each triangle of the mesh are specified) determines whether a given face is front-facing or back-facing. Front-facing triangles are wound in counter-clockwise order; back-facing triangles are wound in clockwise order. - - - -## Examples - :::code language="xaml" source="~/snippets/xaml/VS_Snippets_Wpf/Basic3D/XAML/Window1.xaml" id="Snippetbasic3dxaml3dn3"::: - + property is required. + + Normals are assumed to be associated with the front faces of a mesh primitive. The winding order (the order in which the Positions that make up each triangle of the mesh are specified) determines whether a given face is front-facing or back-facing. Front-facing triangles are wound in counter-clockwise order; back-facing triangles are wound in clockwise order. + + + +## Examples + :::code language="xaml" source="~/snippets/xaml/VS_Snippets_Wpf/Basic3D/XAML/Window1.xaml" id="Snippetbasic3dxaml3dn3"::: + ]]> - 3-D Solids Sample @@ -61,15 +60,14 @@ Initializes a new instance of the class. - - 3-D Solids Sample @@ -97,7 +95,6 @@ Gets the bounding for this . Bounding for the . To be added. - 3-D Solids Sample @@ -126,13 +123,13 @@ Creates a modifiable clone of this , making deep copies of this object's values. When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -163,13 +160,13 @@ Creates a modifiable clone of this object, making deep copies of this object's current values. Resource references, data bindings, and animations are not copied, but their current values are. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -228,33 +225,32 @@ that contains the normal vectors for the MeshGeometry3D. - allows the developer to specify position, normal, and texture coordinate information. - - Normals are assumed to be associated with the front faces of a mesh primitive. The winding order (the order in which the Positions that make up each triangle of the mesh are specified) determines whether a given face is front-facing or back-facing. - - If normals are not specified, their generation depends on whether the developer has specified triangle indices for the mesh. If triangle indices are specified, normals will be generated that take into account adjacent faces. If triangle indices are not specified, only one normal will be generated for the specified triangle. This might cause a faceted appearance in the mesh. - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - - - -## Examples - :::code language="xaml" source="~/snippets/xaml/VS_Snippets_Wpf/Basic3D/XAML/Window1.xaml" id="Snippetbasic3dxaml3dn3"::: - + allows the developer to specify position, normal, and texture coordinate information. + + Normals are assumed to be associated with the front faces of a mesh primitive. The winding order (the order in which the Positions that make up each triangle of the mesh are specified) determines whether a given face is front-facing or back-facing. + + If normals are not specified, their generation depends on whether the developer has specified triangle indices for the mesh. If triangle indices are specified, normals will be generated that take into account adjacent faces. If triangle indices are not specified, only one normal will be generated for the specified triangle. This might cause a faceted appearance in the mesh. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + + + +## Examples + :::code language="xaml" source="~/snippets/xaml/VS_Snippets_Wpf/Basic3D/XAML/Window1.xaml" id="Snippetbasic3dxaml3dn3"::: + ]]> - 3-D Solids Sample @@ -339,29 +335,28 @@ that contains the vertex positions of the MeshGeometry3D. - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - - - -## Examples - :::code language="xaml" source="~/snippets/xaml/VS_Snippets_Wpf/Basic3D/XAML/Window1.xaml" id="Snippetbasic3dxaml3dn3"::: - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + + + +## Examples + :::code language="xaml" source="~/snippets/xaml/VS_Snippets_Wpf/Basic3D/XAML/Window1.xaml" id="Snippetbasic3dxaml3dn3"::: + ]]> - 3-D Solids Sample @@ -416,29 +411,28 @@ that contains the texture coordinates for the MeshGeometry3D. - is mapped to the vertices of the triangles that make up a mesh. - - **Note** If no texture coordinates are specified for a MeshGeometry3D, its Material might not render as expected. - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - - - -## Examples - :::code language="xaml" source="~/snippets/xaml/VS_Snippets_Wpf/Basic3D/XAML/Window1.xaml" id="Snippetbasic3dxaml3dn3"::: - + is mapped to the vertices of the triangles that make up a mesh. + + **Note** If no texture coordinates are specified for a MeshGeometry3D, its Material might not render as expected. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + + + +## Examples + :::code language="xaml" source="~/snippets/xaml/VS_Snippets_Wpf/Basic3D/XAML/Window1.xaml" id="Snippetbasic3dxaml3dn3"::: + ]]> - 3-D Solids Sample @@ -492,31 +486,30 @@ Gets or sets a collection of triangle indices for the . Collection that contains the triangle indices of the MeshGeometry3D. - property is optional. If the indices are not specified, triangles are drawn in a non-indexed fashion. Every set of three positions becomes a triangle. - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - - - -## Examples - :::code language="xaml" source="~/snippets/xaml/VS_Snippets_Wpf/Basic3D/XAML/Window1.xaml" id="Snippetbasic3dxaml3dn3"::: - + property is optional. If the indices are not specified, triangles are drawn in a non-indexed fashion. Every set of three positions becomes a triangle. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + + + +## Examples + :::code language="xaml" source="~/snippets/xaml/VS_Snippets_Wpf/Basic3D/XAML/Window1.xaml" id="Snippetbasic3dxaml3dn3"::: + ]]> - 3-D Solids Sample diff --git a/xml/System.Windows.Media.Media3D/Model3DCollection.xml b/xml/System.Windows.Media.Media3D/Model3DCollection.xml index a5e55d9d621..8476c3c4a23 100644 --- a/xml/System.Windows.Media.Media3D/Model3DCollection.xml +++ b/xml/System.Windows.Media.Media3D/Model3DCollection.xml @@ -49,20 +49,17 @@ Represents an ordered collection of objects. - property of is a . - - - -## Examples + property of is a . + +## Examples :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/Viewport3D/.ctor/EmissiveMaterialExample.cs" id="Snippetemissivematerialcodeexamplewholepage"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/3DGallery_procedural_snip/visualbasic/emissivematerialexample.vb" id="Snippetemissivematerialcodeexamplewholepage"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/3DGallery_procedural_snip/visualbasic/emissivematerialexample.vb" id="Snippetemissivematerialcodeexamplewholepage"::: + ]]> - 3-D Solids Sample @@ -241,13 +238,13 @@ Creates a modifiable clone of this , making deep copies of this object's values. When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -308,13 +305,13 @@ Creates a modifiable clone of this object, making deep copies of this object's current values. Resource references, data bindings, and animations are not copied, but their current values are. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -595,21 +592,21 @@ Returns an enumerator that can iterate through the collection. An enumerator that can iterate through the collection. - throws an exception. Therefore, you must call to advance the enumerator to the first item of the collection before reading the value of Current. - - Current returns the same object until either MoveNext or is called. MoveNext sets Current to the next item. - - After the end of the collection is passed, the enumerator is positioned after the last item in the collection, and calling MoveNext returns false. If the last call to MoveNext returned false, calling Current throws an exception. To set Current to the first item of the collection again, you can call Reset followed by MoveNext. - - An enumerator remains valid as long as the collection remains unchanged. If changes are made to the collection, such as adding, modifying or deleting items, the enumerator is irrecoverably invalidated and the next call to MoveNext or Reset throws an InvalidOperationException. If the collection is modified between MoveNext and Current, Current will return the item that it is set to, even if the enumerator is already invalidated. - - The enumerator does not have exclusive access to the collection; therefore, enumerating through a collection is intrinsically not a thread-safe procedure. Even when a collection is synchronized, other threads could still modify the collection, which causes the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads. - + throws an exception. Therefore, you must call to advance the enumerator to the first item of the collection before reading the value of Current. + + Current returns the same object until either MoveNext or is called. MoveNext sets Current to the next item. + + After the end of the collection is passed, the enumerator is positioned after the last item in the collection, and calling MoveNext returns false. If the last call to MoveNext returned false, calling Current throws an exception. To set Current to the first item of the collection again, you can call Reset followed by MoveNext. + + An enumerator remains valid as long as the collection remains unchanged. If changes are made to the collection, such as adding, modifying or deleting items, the enumerator is irrecoverably invalidated and the next call to MoveNext or Reset throws an InvalidOperationException. If the collection is modified between MoveNext and Current, Current will return the item that it is set to, even if the enumerator is already invalidated. + + The enumerator does not have exclusive access to the collection; therefore, enumerating through a collection is intrinsically not a thread-safe procedure. Even when a collection is synchronized, other threads could still modify the collection, which causes the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads. + ]]> @@ -815,11 +812,11 @@ if the is read-only; otherwise, . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -853,11 +850,11 @@ For a description of this member, see . An object that can be used to iterate through the collection. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -895,11 +892,11 @@ The first position in the specified to receive the copied contents. For a description of this member, see . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -933,11 +930,11 @@ if access to the is synchronized (thread safe); otherwise, . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -970,11 +967,11 @@ For a description of this member, see . An object that can be used to synchronize access to the . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1008,11 +1005,11 @@ For a description of this member, see . An object that can be used to iterate through the collection. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1049,11 +1046,11 @@ For a description of this member, see . The position into which the new element was inserted. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1091,11 +1088,11 @@ if the is found in the ; otherwise, . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1132,11 +1129,11 @@ For a description of this member, see . The index of if found in the list; otherwise, -1. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1174,11 +1171,11 @@ The to insert into the . For a description of this member, see . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1212,11 +1209,11 @@ if the has a fixed size; otherwise, . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1250,11 +1247,11 @@ if the is read-only; otherwise, . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1297,11 +1294,11 @@ For a description of this member, see . The element at the specified index. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1337,11 +1334,11 @@ The to remove from the . For a description of this member, see . - instance is cast to an interface. - + instance is cast to an interface. + ]]> diff --git a/xml/System.Windows.Media.Media3D/ModelUIElement3D.xml b/xml/System.Windows.Media.Media3D/ModelUIElement3D.xml index 01b5301d1f0..ebfe428764a 100644 --- a/xml/System.Windows.Media.Media3D/ModelUIElement3D.xml +++ b/xml/System.Windows.Media.Media3D/ModelUIElement3D.xml @@ -28,25 +28,13 @@ Renders a 3-D model that supports input, focus, and events. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - - -## Examples - The following example shows how to create two cubes using the class: - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Media.Media3D/ContainerUIElement3D/Overview/Window1.xaml" id="Snippetviewport3d"::: - - The cubes respond to the mouse down event through the following event handlers: - - - - - For the complete sample, see [Handling Events in 3-D Sample](https://go.microsoft.com/fwlink/?LinkID=159992) . - + class: + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Media.Media3D/ContainerUIElement3D/Overview/Window1.xaml" id="Snippetviewport3d"::: + ]]> @@ -79,11 +67,11 @@ Initializes a new instance of the class. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -113,33 +101,20 @@ Gets or sets the to render. The to render. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - - - -## Examples - The following example shows how to create two cubes using the class: - - :::code language="xaml" source="~/snippets/csharp/System.Windows.Media.Media3D/ContainerUIElement3D/Overview/Window1.xaml" id="Snippetviewport3d"::: - - The cubes respond to the mouse down event through the following event handlers: - - - - - For the complete sample, see [Handling Events in 3-D Sample](https://go.microsoft.com/fwlink/?LinkID=159992) . - + | +|Metadata properties set to `true`|None| + +## Examples + The following example shows how to create two cubes using the class: + + :::code language="xaml" source="~/snippets/csharp/System.Windows.Media.Media3D/ContainerUIElement3D/Overview/Window1.xaml" id="Snippetviewport3d"::: + ]]> @@ -168,11 +143,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> diff --git a/xml/System.Windows.Media.Media3D/PerspectiveCamera.xml b/xml/System.Windows.Media.Media3D/PerspectiveCamera.xml index 6401a60d169..6cd0a6289af 100644 --- a/xml/System.Windows.Media.Media3D/PerspectiveCamera.xml +++ b/xml/System.Windows.Media.Media3D/PerspectiveCamera.xml @@ -23,23 +23,20 @@ Represents a perspective projection camera. - specifies a projection of a 3-D model to a 2-D visual surface. This projection includes perspective foreshortening. In other words, the describes a frustrum whose sides converge toward a point on the horizon. Objects closer to the camera appear larger, and objects farther from the camera appear smaller. - - The following diagram shows the difference between orthographic and perspective-foreshortened camera projections. - - ![Orthographic and perspective projection](~/add/media/camera-projections4.png "Orthographic and perspective projection") - - - -## Examples - :::code language="xaml" source="~/snippets/csharp/System.Windows.Media.Media3D/PerspectiveCamera/Overview/ApplyDrawingToMaterialExample.xaml" id="Snippetapplydrawingtomaterialexamplewholepage"::: - + specifies a projection of a 3D model to a 2D visual surface. This projection includes perspective foreshortening. In other words, the describes a frustrum whose sides converge toward a point on the horizon. Objects closer to the camera appear larger, and objects farther from the camera appear smaller. + + The following diagram shows the difference between orthographic and perspective-foreshortened camera projections. + + ![Orthographic and perspective projection](~/add/media/camera-projections4.png) + +## Examples + :::code language="xaml" source="~/snippets/csharp/System.Windows.Media.Media3D/PerspectiveCamera/Overview/ApplyDrawingToMaterialExample.xaml" id="Snippetapplydrawingtomaterialexamplewholepage"::: + ]]> - 3-D Scene C# Sample @@ -72,11 +69,11 @@ Initializes a new instance of the class. - @@ -112,12 +109,12 @@ Width of the camera's angle of projection, specified in degrees. Initializes a new instance of the class using the specified position, direction, and field of view. - @@ -148,13 +145,13 @@ Creates a modifiable clone of this , making deep copies of this object's values. When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -185,13 +182,13 @@ Creates a modifiable clone of this object, making deep copies of this object's current values. Resource references, data bindings, and animations are not copied, but their current values are. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -249,24 +246,24 @@ Gets or sets a value that represents the camera's horizontal field of view. The camera's horizontal field of view, in degrees. The default value is 45. - , "field of view" is the horizontal bounds of the camera's projection between the camera's position and the image plane. - - -## Dependency Property Information - -||| -|-|-| -|Identifier Field|| -|Metadata properties set to `true`|None| - - - -## Examples - :::code language="xaml" source="~/snippets/csharp/System.Windows.Media.Media3D/AxisAngleRotation3D/Overview/Window11.xaml" id="Snippetanimate3drotation3dn3"::: - + , "field of view" is the horizontal bounds of the camera's projection between the camera's position and the image plane. + + +## Dependency Property Information + +||| +|-|-| +|Identifier Field|| +|Metadata properties set to `true`|None| + + + +## Examples + :::code language="xaml" source="~/snippets/csharp/System.Windows.Media.Media3D/AxisAngleRotation3D/Overview/Window11.xaml" id="Snippetanimate3drotation3dn3"::: + ]]> diff --git a/xml/System.Windows.Media.Media3D/Point3DCollection.xml b/xml/System.Windows.Media.Media3D/Point3DCollection.xml index 84593778dfd..aeeedb2f8ea 100644 --- a/xml/System.Windows.Media.Media3D/Point3DCollection.xml +++ b/xml/System.Windows.Media.Media3D/Point3DCollection.xml @@ -62,49 +62,46 @@ Represents an ordered collection of objects. - -## XAML Attribute Usage - -``` - -``` - - -## XAML Implicit Collection Usage - -``` - - - oneOrMorePoint3DObjectElements - - -``` - - -## XAML Values - *oneOrMorePoint3Ds* - One or more structures, with each set of values delimited by commas and/or one or more spaces. - + +## XAML Attribute Usage + +``` + +``` + + +## XAML Implicit Collection Usage + +``` + + + oneOrMorePoint3DObjectElements + + +``` + + +## XAML Values + *oneOrMorePoint3Ds* + One or more structures, with each set of values delimited by commas and/or one or more spaces. + _[delimiter__]\*_ - - For example, `"0,0,5 100,100,125 200,100,30"` and `"0,0,5,100,100,125,200,100,30"` are both valid. - - *oneOrMorePointObjectElements* - One or more objects, declared using object element syntax. - - - -## Examples + + For example, `"0,0,5 100,100,125 200,100,30"` and `"0,0,5,100,100,125,200,100,30"` are both valid. + + *oneOrMorePointObjectElements* + One or more objects, declared using object element syntax. + +## Examples :::code language="csharp" source="~/snippets/csharp/System.Windows.Controls/Viewport3D/.ctor/Basic3DShapeExample.cs" id="Snippetbasic3dshapecodeexamplewholepage"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/3DGallery_procedural_snip/visualbasic/basic3dshapeexample.vb" id="Snippetbasic3dshapecodeexamplewholepage"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/3DGallery_procedural_snip/visualbasic/basic3dshapeexample.vb" id="Snippetbasic3dshapecodeexamplewholepage"::: + ]]> - 3-D Mesh Sample @@ -283,13 +280,13 @@ Creates a modifiable clone of this , making deep copies of this object's values. When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -350,13 +347,13 @@ Creates a modifiable clone of this object, making deep copies of this object's current values. Resource references, data bindings, and animations are not copied, but their current values are. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -606,21 +603,21 @@ Returns an enumerator that can iterate through the collection. An enumerator that can iterate through the collection. - throws an exception. Therefore, you must call to advance the enumerator to the first item of the collection before reading the value of Current. - - Current returns the same object until either MoveNext or is called. MoveNext sets Current to the next item. - - After the end of the collection is passed, the enumerator is positioned after the last item in the collection, and calling MoveNext returns false. If the last call to MoveNext returned false, calling Current throws an exception. To set Current to the first item of the collection again, you can call Reset followed by MoveNext. - - An enumerator remains valid as long as the collection remains unchanged. If changes are made to the collection, such as adding, modifying or deleting items, the enumerator is irrecoverably invalidated and the next call to MoveNext or Reset throws an InvalidOperationException. If the collection is modified between MoveNext and Current, Current will return the item that it is set to, even if the enumerator is already invalidated. - - The enumerator does not have exclusive access to the collection; therefore, enumerating through a collection is intrinsically not a thread-safe procedure. Even when a collection is synchronized, other threads could still modify the collection, which causes the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads. - + throws an exception. Therefore, you must call to advance the enumerator to the first item of the collection before reading the value of Current. + + Current returns the same object until either MoveNext or is called. MoveNext sets Current to the next item. + + After the end of the collection is passed, the enumerator is positioned after the last item in the collection, and calling MoveNext returns false. If the last call to MoveNext returned false, calling Current throws an exception. To set Current to the first item of the collection again, you can call Reset followed by MoveNext. + + An enumerator remains valid as long as the collection remains unchanged. If changes are made to the collection, such as adding, modifying or deleting items, the enumerator is irrecoverably invalidated and the next call to MoveNext or Reset throws an InvalidOperationException. If the collection is modified between MoveNext and Current, Current will return the item that it is set to, even if the enumerator is already invalidated. + + The enumerator does not have exclusive access to the collection; therefore, enumerating through a collection is intrinsically not a thread-safe procedure. Even when a collection is synchronized, other threads could still modify the collection, which causes the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads. + ]]> @@ -857,11 +854,11 @@ if the is read-only; otherwise, . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -895,11 +892,11 @@ For a description of this member, see . An object that can be used to iterate through the collection. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -937,11 +934,11 @@ The first position in the specified to receive the copied contents. For a description of this member, see . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -975,13 +972,13 @@ if access to the is synchronized (thread safe); otherwise, . - instance is cast to an interface. - - Example - + instance is cast to an interface. + + Example + ]]> @@ -1014,13 +1011,13 @@ For a description of this member, see . An object that can be used to synchronize access to the . - instance is cast to an interface. - - Example - + instance is cast to an interface. + + Example + ]]> @@ -1054,11 +1051,11 @@ For a description of this member, see . An object that can be used to iterate through the collection. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1095,11 +1092,11 @@ For a description of this member, see . The position into which the new element was inserted. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1137,11 +1134,11 @@ if the is found in the ; otherwise, . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1178,11 +1175,11 @@ For a description of this member, see . The index of if found in the list; otherwise, -1. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1220,11 +1217,11 @@ The to insert into the . For a description of this member, see . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1257,11 +1254,11 @@ For a description of this member, see . For a description of this member, see . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1295,11 +1292,11 @@ if the is read-only; otherwise, . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1336,11 +1333,11 @@ For a description of this member, see . The element at the specified index. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1376,11 +1373,11 @@ The to remove from the . For a description of this member, see . - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -1414,24 +1411,24 @@ - The specifying the format to use. - - -or- - + The specifying the format to use. + + -or- + ( in Visual Basic) to use the default format defined for the type of the implementation. - The to use to format the value. - - -or- - + The to use to format the value. + + -or- + ( in Visual Basic) to obtain the numeric format information from the current locale setting of the operating system. For a description of this member, see . A containing the value of the current instance in the specified format. - instance is cast to an interface. - + instance is cast to an interface. + ]]> diff --git a/xml/System.Windows.Media.Media3D/PointLight.xml b/xml/System.Windows.Media.Media3D/PointLight.xml index ab2dda1659c..e251ae0009e 100644 --- a/xml/System.Windows.Media.Media3D/PointLight.xml +++ b/xml/System.Windows.Media.Media3D/PointLight.xml @@ -22,25 +22,24 @@ Represents a light source that has a specified position in space and projects its light in all directions. - , , or properties. - - - -## Examples - The following examples create a object and set some of its properties. - + , , or properties. + + + +## Examples + The following examples create a object and set some of its properties. + :::code language="csharp" source="~/snippets/csharp/System.Windows.Media.Media3D/AmbientLight/Overview/MyLights.cs" id="Snippetshow3dlights3dn3"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Show3DLights/visualbasic/mylights.vb" id="Snippetshow3dlights3dn3"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Show3DLights/visualbasic/mylights.vb" id="Snippetshow3dlights3dn3"::: + :::code language="csharp" source="~/snippets/csharp/System.Windows.Media.Media3D/AmbientLight/Overview/MyLights.cs" id="Snippetshow3dlights3dn5"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Show3DLights/visualbasic/mylights.vb" id="Snippetshow3dlights3dn5"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Show3DLights/visualbasic/mylights.vb" id="Snippetshow3dlights3dn5"::: + ]]> - 3-D Lights Sample @@ -73,14 +72,14 @@ Initializes a new instance of the class at the origin. - @@ -114,7 +113,6 @@ To be added. - 3-D Lights Sample @@ -143,13 +141,13 @@ Creates a modifiable clone of this , making deep copies of this object's values. When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -180,13 +178,13 @@ Creates a modifiable clone of this object, making deep copies of this object's current values. Resource references, data bindings, and animations are not copied, but their current values are. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> diff --git a/xml/System.Windows.Media.Media3D/Transform3DGroup.xml b/xml/System.Windows.Media.Media3D/Transform3DGroup.xml index 1d2e7c08273..fd63a411564 100644 --- a/xml/System.Windows.Media.Media3D/Transform3DGroup.xml +++ b/xml/System.Windows.Media.Media3D/Transform3DGroup.xml @@ -29,14 +29,13 @@ Represents a transformation that is a composite of the children in its . - objects. - + objects. + ]]> - 3-D Solids Sample @@ -60,7 +59,6 @@ Initializes a new instance of the class. To be added. - 3-D Solids Sample @@ -88,21 +86,20 @@ Gets or sets a collection of objects. Collection of objects. The default value is an empty collection. - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> - 3-D Solids Sample @@ -157,13 +154,13 @@ Creates a modifiable clone of this , making deep copies of this object's values. When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -194,13 +191,13 @@ Creates a modifiable clone of this object, making deep copies of this object's current values. Resource references, data bindings, and animations are not copied, but their current values are. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -285,7 +282,6 @@ Gets a that indicates the current transform value. Matrix3D that indicates the current transform value. To be added. - Quaternion Viewer Sample diff --git a/xml/System.Windows.Media/CompositionTarget.xml b/xml/System.Windows.Media/CompositionTarget.xml index d8f9d2ca337..29304466299 100644 --- a/xml/System.Windows.Media/CompositionTarget.xml +++ b/xml/System.Windows.Media/CompositionTarget.xml @@ -26,14 +26,11 @@ Represents the display surface of your application. - is a class that represents the display surface on which your application is being drawn. The WPF animation engine provides many features for creating frame-based animation. However, there are application scenarios in which you need control over rendering on a per frame basis. The object provides the ability to create custom animations based on a per-frame callback. - -> [!NOTE] -> For a complete code sample using , see [Using the CompositionTarget Sample](https://go.microsoft.com/fwlink/?LinkID=160045). - + ]]> @@ -92,21 +89,21 @@ Occurs just before the objects in the composition tree are rendered. - event is routed to the specified event handler after animation and layout have been applied to the composition tree. - - - -## Examples - The event is raised during the Windows Presentation Foundation (WPF) rendering process. The following example shows how you register an delegate to the static method on . - + event is routed to the specified event handler after animation and layout have been applied to the composition tree. + + + +## Examples + The event is raised during the Windows Presentation Foundation (WPF) rendering process. The following example shows how you register an delegate to the static method on . + :::code language="csharp" source="~/snippets/csharp/System.Windows.Media/CompositionTarget/Rendering/Window1.xaml.cs" id="Snippetcompositiontarget1"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/CompositionTargetSample/visualbasic/window1.xaml.vb" id="Snippetcompositiontarget1"::: - - You can use your rendering event handler to create custom drawing content. This event handler gets called once per frame. Each time that Windows Presentation Foundation (WPF) marshals the persisted rendering data in the visual tree across to the composition tree, your event handler is called. In addition, if changes to the visual tree force updates to the composition tree, your event handler is also called. Note that your event handler is called after layout has been computed. However, you can modify layout in your event handler, which means that layout will be computed once more before rendering. - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/CompositionTargetSample/visualbasic/window1.xaml.vb" id="Snippetcompositiontarget1"::: + + You can use your rendering event handler to create custom drawing content. This event handler gets called once per frame. Each time that Windows Presentation Foundation (WPF) marshals the persisted rendering data in the visual tree across to the composition tree, your event handler is called. In addition, if changes to the visual tree force updates to the composition tree, your event handler is also called. Note that your event handler is called after layout has been computed. However, you can modify layout in your event handler, which means that layout will be computed once more before rendering. + ]]> diff --git a/xml/System.Windows.Media/ImageBrush.xml b/xml/System.Windows.Media/ImageBrush.xml index 18068881c8d..9f82e8aac80 100644 --- a/xml/System.Windows.Media/ImageBrush.xml +++ b/xml/System.Windows.Media/ImageBrush.xml @@ -23,26 +23,25 @@ Paints an area with an image. - is a type of that defines its content as an image, which is specified by its property. You can control how the image is stretched, aligned, and tiled, enabling you to produce patterns and other effects. The following images show some effects that can be achieved with an . - - ![ImageBrush output examples](~/add/media/wcpsdk-mmgraphics-imagebrushexamples.gif "ImageBrush output examples") -An ImageBrush can paint shapes, controls, text, and more - - As mentioned, an paints an area with an . The most common type of to use with an is a , which describes a bitmap graphic. You can use a to paint using a object, but it is simpler to use a instead. For more information about objects, see [Imaging Overview](/dotnet/framework/wpf/graphics-multimedia/imaging-overview). - - For more information about features, see [Painting with Images, Drawings, and Visuals](/dotnet/framework/wpf/graphics-multimedia/painting-with-images-drawings-and-visuals) overview. - -## Freezable Features - Because the class inherits from , objects gain several special features, which include the following: they can be declared as [resources](/dotnet/desktop-wpf/fundamentals/xaml-resources-define), shared among multiple objects, made read-only to improve performance, cloned, and made thread safe. For more information about the features provided by objects, see [Freezable Objects Overview](/dotnet/framework/wpf/advanced/freezable-objects-overview). - + is a type of that defines its content as an image, which is specified by its property. You can control how the image is stretched, aligned, and tiled, enabling you to produce patterns and other effects. The following images show some effects that can be achieved with an . + + ![ImageBrush output examples](~/add/media/wcpsdk-mmgraphics-imagebrushexamples.gif "ImageBrush output examples") +An ImageBrush can paint shapes, controls, text, and more + + As mentioned, an paints an area with an . The most common type of to use with an is a , which describes a bitmap graphic. You can use a to paint using a object, but it is simpler to use a instead. For more information about objects, see [Imaging Overview](/dotnet/framework/wpf/graphics-multimedia/imaging-overview). + + For more information about features, see [Painting with Images, Drawings, and Visuals](/dotnet/framework/wpf/graphics-multimedia/painting-with-images-drawings-and-visuals) overview. + +## Freezable Features + Because the class inherits from , objects gain several special features, which include the following: they can be declared as [resources](/dotnet/desktop-wpf/fundamentals/xaml-resources-define), shared among multiple objects, made read-only to improve performance, cloned, and made thread safe. For more information about the features provided by objects, see [Freezable Objects Overview](/dotnet/framework/wpf/advanced/freezable-objects-overview). + ]]> - ImageBrush Sample @@ -130,15 +129,15 @@ An ImageBrush can paint shapes, controls, text, and more Creates a modifiable clone of this , making deep copies of this object's values. A modifiable clone of the current object. The cloned object's property is even if the source's property is . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -169,15 +168,15 @@ An ImageBrush can paint shapes, controls, text, and more Creates a modifiable clone of this object, making deep copies of this object's current values. A modifiable clone of the current object. The cloned object's property is even if the source's property is . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -265,40 +264,39 @@ An ImageBrush can paint shapes, controls, text, and more Gets or sets the image displayed by this . The image displayed by this . - paints an area with an . The most common type of to use with an is a , which describes a bitmap graphic. You can use a to paint using a object, but it is simpler to use a instead. For more information about objects, see [Imaging Overview](/dotnet/framework/wpf/graphics-multimedia/imaging-overview) and [Painting with Images, Drawings, and Visuals](/dotnet/framework/wpf/graphics-multimedia/painting-with-images-drawings-and-visuals) - - -## XAML Attribute Usage - -``` - -``` - - -## XAML Text Usage - For XAML information, see . - - -## XAML Values - *imageUri* - - - A URI of an image. - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + paints an area with an . The most common type of to use with an is a , which describes a bitmap graphic. You can use a to paint using a object, but it is simpler to use a instead. For more information about objects, see [Imaging Overview](/dotnet/framework/wpf/graphics-multimedia/imaging-overview) and [Painting with Images, Drawings, and Visuals](/dotnet/framework/wpf/graphics-multimedia/painting-with-images-drawings-and-visuals) + + +## XAML Attribute Usage + +``` + +``` + + +## XAML Text Usage + For XAML information, see . + + +## XAML Values + *imageUri* + + + A URI of an image. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> - ImageBrush Sample diff --git a/xml/System.Windows.Media/TileMode.xml b/xml/System.Windows.Media/TileMode.xml index 4d789fc6a70..e6af458a379 100644 --- a/xml/System.Windows.Media/TileMode.xml +++ b/xml/System.Windows.Media/TileMode.xml @@ -21,17 +21,15 @@ Describes how a paints tiles onto an output area. - - ImageBrush Sample diff --git a/xml/System.Windows.Media/VisualBrush.xml b/xml/System.Windows.Media/VisualBrush.xml index 80d0ab93ef1..a96032f7508 100644 --- a/xml/System.Windows.Media/VisualBrush.xml +++ b/xml/System.Windows.Media/VisualBrush.xml @@ -23,27 +23,26 @@ Paints an area with a . - content of a . - -- Create a new and use it to set the property of the . - -- Use an existing , which creates a duplicate image of the target . You can then use the to create interesting effects, such as reflection and magnification. - - When you define a new for a and that is a (such as a panel or control), the layout system runs on the and its child elements when the property is set to `true`. However, the root is essentially isolated from the rest of the system; styles, storyboards, and external layout can't permeate this boundary. Therefore, you should explicitly specify the size of the root , because its only parent is the and therefore it cannot automatically size itself to the area being painted. For more information about layout in Windows Presentation Foundation (WPF), see the [Layout](/dotnet/framework/wpf/advanced/layout). - - Updates to the visual tree of a will not propagate if a is in the brush's parent chain. You can workaround this limitation by forcing an update of the scene on the object above the effect. You can call or include an animation to force a scene update. - - **Freezable Features:** Because it inherits from the class, the class provides several special features: objects can be declared as and shared among multiple objects. For more information about the different features provided by objects, see the [Freezable Objects Overview](/dotnet/framework/wpf/advanced/freezable-objects-overview). - + content of a . + +- Create a new and use it to set the property of the . + +- Use an existing , which creates a duplicate image of the target . You can then use the to create interesting effects, such as reflection and magnification. + + When you define a new for a and that is a (such as a panel or control), the layout system runs on the and its child elements when the property is set to `true`. However, the root is essentially isolated from the rest of the system; styles, storyboards, and external layout can't permeate this boundary. Therefore, you should explicitly specify the size of the root , because its only parent is the and therefore it cannot automatically size itself to the area being painted. For more information about layout in Windows Presentation Foundation (WPF), see the [Layout](/dotnet/framework/wpf/advanced/layout). + + Updates to the visual tree of a will not propagate if a is in the brush's parent chain. You can workaround this limitation by forcing an update of the scene on the object above the effect. You can call or include an animation to force a scene update. + + **Freezable Features:** Because it inherits from the class, the class provides several special features: objects can be declared as and shared among multiple objects. For more information about the different features provided by objects, see the [Freezable Objects Overview](/dotnet/framework/wpf/advanced/freezable-objects-overview). + > [!NOTE] -> A cannot be made read-only (frozen) when its property is set to any value other than `null`. - +> A cannot be made read-only (frozen) when its property is set to any value other than `null`. + ]]> - VisualBrush Sample @@ -76,7 +75,6 @@ Initializes a new instance of the class. To be added. - VisualBrush Sample @@ -104,7 +102,6 @@ The contents of the new . Initializes a new instance of the class that contains the specified . To be added. - VisualBrush Sample @@ -133,42 +130,42 @@ if this Brush should run layout on its ; otherwise, . The default is . - is a non-parented . - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - - - -## Examples - The following example shows the effects of the property on a non-parented . - + is a non-parented . + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + + + +## Examples + The following example shows the effects of the property on a non-parented . + :::code language="csharp" source="~/snippets/csharp/System.Windows.Media/VisualBrush/AutoLayoutContent/AutoLayoutContentExample.cs" id="Snippetautolayoutcontentnonparenteduielementexample"::: :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/visualbrush_markup_snip/visualbasic/autolayoutcontentexample.vb" id="Snippetautolayoutcontentnonparenteduielementexample"::: - :::code language="xaml" source="~/snippets/xaml/VS_Snippets_Wpf/visualbrush_markup_snip/XAML/AutoLayoutContentExample.xaml" id="Snippetautolayoutcontentnonparenteduielementexample"::: - - The following illustration shows the example's output: - - ![AutoLayoutContent with a non-parented UIElement](~/add/media/graphicsmm-visualbrush-autolayoutcontentproperty-nonparented.png "AutoLayoutContent with a non-parented UIElement") - - The next example shows the effects of the property on a parented . - + :::code language="xaml" source="~/snippets/xaml/VS_Snippets_Wpf/visualbrush_markup_snip/XAML/AutoLayoutContentExample.xaml" id="Snippetautolayoutcontentnonparenteduielementexample"::: + + The following illustration shows the example's output: + + ![AutoLayoutContent with a non-parented UIElement](~/add/media/graphicsmm-visualbrush-autolayoutcontentproperty-nonparented.png "AutoLayoutContent with a non-parented UIElement") + + The next example shows the effects of the property on a parented . + :::code language="csharp" source="~/snippets/csharp/System.Windows.Media/VisualBrush/AutoLayoutContent/AutoLayoutContentExample.cs" id="Snippetautolayoutcontentparenteduielementexample"::: :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/visualbrush_markup_snip/visualbasic/autolayoutcontentexample.vb" id="Snippetautolayoutcontentparenteduielementexample"::: - :::code language="xaml" source="~/snippets/xaml/VS_Snippets_Wpf/visualbrush_markup_snip/XAML/AutoLayoutContentExample.xaml" id="Snippetautolayoutcontentparenteduielementexample"::: - - The following illustration shows the example's output: - - ![AutoLayoutContent with a parented UIElement](~/add/media/graphicsmm-visualbrush-autolayoutcontentproperty-parented.png "AutoLayoutContent with a parented UIElement") - + :::code language="xaml" source="~/snippets/xaml/VS_Snippets_Wpf/visualbrush_markup_snip/XAML/AutoLayoutContentExample.xaml" id="Snippetautolayoutcontentparenteduielementexample"::: + + The following illustration shows the example's output: + + ![AutoLayoutContent with a parented UIElement](~/add/media/graphicsmm-visualbrush-autolayoutcontentproperty-parented.png "AutoLayoutContent with a parented UIElement") + ]]> @@ -225,15 +222,15 @@ Creates a modifiable clone of this , making deep copies of this object's values. A modifiable clone of the current object. The cloned object's property is even if the source's property is . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - - When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values. - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + + When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values. + ]]> @@ -264,13 +261,13 @@ Creates a modifiable clone of this object, making deep copies of this object's current values. Resource references, data bindings, and animations are not copied, but their current values are. A modifiable clone of the current object. The cloned object's property will be even if the source's property was . - objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. - - For more information, see . - + objects (or any object). For convenience, this method shadows the inherited version with a strongly typed implementation. + + For more information, see . + ]]> @@ -388,64 +385,64 @@ Gets or sets the brush's content. The brush's content. The default is . - content of a . - -- Create a new and use it to set the property of the . - -- Use an existing , which creates a duplicate image of the target . You can then use the to create interesting effects, such as reflection and magnification. - - is quite high in the overall WPF class hierarchy, so a very large number of objects could possibly serve as the visual that you use for a ; the entire list cannot be shown here. See ; refer to the "Inheritance Hierarchy" section, which will show the immediately derived classes. You can then click on the immediately derived classes and traverse the hierarchies to get a sense of the full range of possibilities. At a top level, the two most common categories of objects you might use for a are or . encompasses basically any UI element that can otherwise participate in the UI for a WPF application. contains a that includes one or more -derived objects. - - When you define a new for a and that is a (such as a panel or control), the layout system runs on the and its child elements when the property is set to `true`. However, the root is essentially isolated from the rest of the system; styles, storyboards, and external layout dictated by the parent where the brush is applied cannot permeate this boundary. Therefore, you should explicitly specify the size of the root , because its only parent is the and therefore it cannot automatically size itself to the area being painted. For more information about layout in Windows Presentation Foundation (WPF), see the [Layout](/dotnet/framework/wpf/advanced/layout). - - Updates to the visual tree of a will not propagate if a is in the brush's parent chain. You can work around this limitation by forcing an update of the scene on the object above the effect. You can call or include an animation to force a scene update. - + content of a . + +- Create a new and use it to set the property of the . + +- Use an existing , which creates a duplicate image of the target . You can then use the to create interesting effects, such as reflection and magnification. + + is quite high in the overall WPF class hierarchy, so a very large number of objects could possibly serve as the visual that you use for a ; the entire list cannot be shown here. See ; refer to the "Inheritance Hierarchy" section, which will show the immediately derived classes. You can then click on the immediately derived classes and traverse the hierarchies to get a sense of the full range of possibilities. At a top level, the two most common categories of objects you might use for a are or . encompasses basically any UI element that can otherwise participate in the UI for a WPF application. contains a that includes one or more -derived objects. + + When you define a new for a and that is a (such as a panel or control), the layout system runs on the and its child elements when the property is set to `true`. However, the root is essentially isolated from the rest of the system; styles, storyboards, and external layout dictated by the parent where the brush is applied cannot permeate this boundary. Therefore, you should explicitly specify the size of the root , because its only parent is the and therefore it cannot automatically size itself to the area being painted. For more information about layout in Windows Presentation Foundation (WPF), see the [Layout](/dotnet/framework/wpf/advanced/layout). + + Updates to the visual tree of a will not propagate if a is in the brush's parent chain. You can work around this limitation by forcing an update of the scene on the object above the effect. You can call or include an animation to force a scene update. + > [!NOTE] -> A cannot be made read-only (frozen) when its property is set to any value other than `null`. - - -## XAML Property Element Usage - +> A cannot be made read-only (frozen) when its property is set to any value other than `null`. + + +## XAML Property Element Usage + ```xaml - - - singleVisualRoot - - -``` - - + + + singleVisualRoot + + +``` + + ## XAML Attribute Usage - <*object* `Visual`="{*bindingExpression*}"/> - + <*object* `Visual`="{*bindingExpression*}"/> + -or- - - <*object* `Visual`="{*resourceExpression*}"/> - - + + <*object* `Visual`="{*resourceExpression*}"/> + + ## XAML Values - `singleVisualRoot` - A single object element that defines a new visual element for the brush. This must be an object that derives from . See Remarks. - - `bindingExpression` - An expression that evaluates to an existing instance. - - `resourceExpression` + `singleVisualRoot` + A single object element that defines a new visual element for the brush. This must be an object that derives from . See Remarks. + + `bindingExpression` + An expression that evaluates to an existing instance. + + `resourceExpression` A `StaticResource` or `DynamicResource` that evaluates to an existing instance. See [XAML Resources](/dotnet/framework/wpf/advanced/xaml-resources). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> diff --git a/xml/System.Windows/EventTrigger.xml b/xml/System.Windows/EventTrigger.xml index e404ef529b7..d1439a9befb 100644 --- a/xml/System.Windows/EventTrigger.xml +++ b/xml/System.Windows/EventTrigger.xml @@ -32,29 +32,27 @@ Represents a trigger that applies a set of actions in response to an event. - objects have the , , and properties that apply changes or actions based on the state of certain properties, while objects start a set of when a specified routed event occurs. For example, you may want to use an to start a set of animations when the mouse pointer is over a certain user interface (UI) control. Unlike , has no concept of termination of state, so the action will not be undone once the condition that raised the event is no longer true. - - Note that when using an , you need to choose events that do not interfere with the inherent behavior of your control. Controls such as or perform specific actions on user input events such as mouse clicks and keyboard events. For example, if you are styling a button and try to set the event as the of an , the never gets applied because the event first gets handled by the button. Instead, you can use the event or a different event. - - When using data binding, if you are using the event, you must set the value of your object to `true` for the event to be raised. - - Adding a child to an object implicitly adds it to the for the object. - - - -## Examples - This example shows how to use event triggers in a style to animate the and events of a . In this example, the has the set to . Therefore, there is no need to qualify the `MouseEnter` and `MouseLeave` event names with the class name. - + objects have the , , and properties that apply changes or actions based on the state of certain properties, while objects start a set of when a specified routed event occurs. For example, you may want to use an to start a set of animations when the mouse pointer is over a certain user interface (UI) control. Unlike , has no concept of termination of state, so the action will not be undone once the condition that raised the event is no longer true. + + Note that when using an , you need to choose events that do not interfere with the inherent behavior of your control. Controls such as or perform specific actions on user input events such as mouse clicks and keyboard events. For example, if you are styling a button and try to set the event as the of an , the never gets applied because the event first gets handled by the button. Instead, you can use the event or a different event. + + When using data binding, if you are using the event, you must set the value of your object to `true` for the event to be raised. + + Adding a child to an object implicitly adds it to the for the object. + + + +## Examples + This example shows how to use event triggers in a style to animate the and events of a . In this example, the has the set to . Therefore, there is no need to qualify the `MouseEnter` and `MouseLeave` event names with the class name. + :::code language="xaml" source="~/snippets/csharp/System.Windows/EventTrigger/Overview/Default.xaml" id="Snippeteventtriggersnippet"::: - + ]]> - Introduction to Styling and Templating Sample - @@ -152,42 +150,41 @@ Gets the collection of actions to apply when the event occurs. The default is an empty collection. - , has no concept of termination of state, so the action will not be undone once the condition that raised the event is no longer true. - - Adding a child to an object implicitly adds it to the for the object. - + , has no concept of termination of state, so the action will not be undone once the condition that raised the event is no longer true. + + Adding a child to an object implicitly adds it to the for the object. + > [!NOTE] -> This property can only be set in Extensible Application Markup Language (XAML) via the collection syntax shown, or by accessing the collection object and using its various methods such as Add. The property to access the collection object itself is read-only, the collection itself is read-write. - - -## XAML Property Element Usage - -``` - - - OneOrMoreTriggerActions - - -``` - - -## XAML Values - *OneOrMoreTriggerActions* - One or more objects. - - - -## Examples - This example describes how to use event triggers in a style to animate the and events of a . As mentioned above, adding a child to an object implicitly adds it to the for the object. Therefore, in this example, `` is implicit. - +> This property can only be set in Extensible Application Markup Language (XAML) via the collection syntax shown, or by accessing the collection object and using its various methods such as Add. The property to access the collection object itself is read-only, the collection itself is read-write. + + +## XAML Property Element Usage + +``` + + + OneOrMoreTriggerActions + + +``` + + +## XAML Values + *OneOrMoreTriggerActions* + One or more objects. + + + +## Examples + This example describes how to use event triggers in a style to animate the and events of a . As mentioned above, adding a child to an object implicitly adds it to the for the object. Therefore, in this example, `` is implicit. + :::code language="xaml" source="~/snippets/csharp/System.Windows/EventTrigger/Overview/Default.xaml" id="Snippeteventtriggersnippet"::: - + ]]> - Introduction to Styling and Templating Sample @@ -281,28 +278,27 @@ Gets or sets the that will activate this trigger. The default value is . - s apply a set of actions when the specified routed event occurs. For example, you may want to use s to start a set of animations when the mouse pointer is over a certain user interface (UI) control. - - If the template or style that contains this does not have the `TargetType` property specified, then you need to quality the event name with the class name using the `ClassName.EventName` syntax. - - objects cannot handle events that have already been . Controls such as or perform specific actions on user input events such as mouse clicks and keyboard events. For example, if you are styling a button and try to set the event as the of an , the never gets applied because the event first gets handled by the button. Instead, you can use the event or a different event. - - When using data binding, if you are using the event, you must set the value of your object to true for the event to be raised. - - - -## Examples - This example shows how to use event triggers in a style to animate the and events of a . In this example, the has the set to . Therefore, there is no need to qualify the `MouseEnter` and `MouseLeave` event names with the class name. - + s apply a set of actions when the specified routed event occurs. For example, you may want to use s to start a set of animations when the mouse pointer is over a certain user interface (UI) control. + + If the template or style that contains this does not have the `TargetType` property specified, then you need to quality the event name with the class name using the `ClassName.EventName` syntax. + + objects cannot handle events that have already been . Controls such as or perform specific actions on user input events such as mouse clicks and keyboard events. For example, if you are styling a button and try to set the event as the of an , the never gets applied because the event first gets handled by the button. Instead, you can use the event or a different event. + + When using data binding, if you are using the event, you must set the value of your object to true for the event to be raised. + + + +## Examples + This example shows how to use event triggers in a style to animate the and events of a . In this example, the has the set to . Therefore, there is no need to qualify the `MouseEnter` and `MouseLeave` event names with the class name. + :::code language="xaml" source="~/snippets/csharp/System.Windows/EventTrigger/Overview/Default.xaml" id="Snippeteventtriggersnippet"::: - + ]]> The property cannot be null. - Introduction to Styling and Templating Sample @@ -374,13 +370,13 @@ Gets or sets the name of the object with the event that activates this trigger. This is only used by element triggers or template triggers. The default value is . If this property value is , then the element being monitored for the raising of the event is the templated parent or the logical tree root. - is part of) is applied. This is typically a named element that is within the template that contains this . If you are setting the property on an element directly, then it is a named element within the scope of that parent element. - - You can name an object using the [x:Name Directive](/dotnet/framework/xaml-services/x-name-directive) syntax. - + is part of) is applied. This is typically a named element that is within the template that contains this . If you are setting the property on an element directly, then it is a named element within the scope of that parent element. + + You can name an object using the [x:Name Directive](/dotnet/framework/xaml-services/x-name-directive) syntax. + ]]> After an is in use, it cannot be modified. @@ -423,11 +419,11 @@ The child object to add. Adds a child object. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -469,11 +465,11 @@ The text to add to the object. Adds the text content of a node to the object. - instance is cast to an interface. - + instance is cast to an interface. + ]]> diff --git a/xml/System.Windows/MultiTrigger.xml b/xml/System.Windows/MultiTrigger.xml index ef3f5505c4b..3898511d525 100644 --- a/xml/System.Windows/MultiTrigger.xml +++ b/xml/System.Windows/MultiTrigger.xml @@ -32,25 +32,24 @@ Represents a trigger that applies property values or performs actions when a set of conditions are satisfied. - enables you to set property values or start actions based on a collection of s. A condition is met when the value of the property (specified by the property of the class) of the element matches the specified . The comparison is a reference equality check. You can then use setters or the and properties to apply changes or start actions when all of the conditions are met. - - The property of a object can only consist of objects. Adding a child to a object implicitly adds it to the for the object. objects are not supported; only supports objects. - - - -## Examples - The following example contains two s. The first sets the **MinWidth** property value when the **HasItems** property is false and the **Width** property is **Auto**. The second one is similar but is for the **MinHeight** property. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Condition/Overview/Page1.xaml" id="Snippetmultitriggerexample1"::: - + enables you to set property values or start actions based on a collection of s. A condition is met when the value of the property (specified by the property of the class) of the element matches the specified . The comparison is a reference equality check. You can then use setters or the and properties to apply changes or start actions when all of the conditions are met. + + The property of a object can only consist of objects. Adding a child to a object implicitly adds it to the for the object. objects are not supported; only supports objects. + + + +## Examples + The following example contains two s. The first sets the **MinWidth** property value when the **HasItems** property is false and the **Width** property is **Auto**. The second one is similar but is for the **MinHeight** property. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Condition/Overview/Page1.xaml" id="Snippetmultitriggerexample1"::: + ]]> - Introduction to Styling and Templating Sample @@ -107,41 +106,40 @@ Gets a collection of objects. Changes to property values are applied when all of the conditions in the collection are met. The default is an empty collection. - -## XAML Property Element Usage - -``` - - - ZeroOrMoreConditions - - -``` - - -## XAML Values - *ZeroOrMoreConditions* - Zero or more objects. - - enables you to set property values or start actions based on a collection of objects. A condition is met when the value of the property (specified by the property of the class) of the element matches the specified . The comparison that is performed is a reference equality check. The applies the associated setters or actions when all of the conditions are true (binary and operation). - - Note that for s, each condition in the collection must set both the and properties. See the page for more information. - - - -## Examples - The following example contains two s. The first sets the **MinWidth** property value when the **HasItems** property is false and the **Width** property is **Auto**. The second one is similar but is for the **MinHeight** property. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Condition/Overview/Page1.xaml" id="Snippetmultitriggerexample1"::: - + +## XAML Property Element Usage + +``` + + + ZeroOrMoreConditions + + +``` + + +## XAML Values + *ZeroOrMoreConditions* + Zero or more objects. + + enables you to set property values or start actions based on a collection of objects. A condition is met when the value of the property (specified by the property of the class) of the element matches the specified . The comparison that is performed is a reference equality check. The applies the associated setters or actions when all of the conditions are true (binary and operation). + + Note that for s, each condition in the collection must set both the and properties. See the page for more information. + + + +## Examples + The following example contains two s. The first sets the **MinWidth** property value when the **HasItems** property is false and the **Width** property is **Auto**. The second one is similar but is for the **MinHeight** property. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Condition/Overview/Page1.xaml" id="Snippetmultitriggerexample1"::: + ]]> - Introduction to Styling and Templating Sample @@ -175,43 +173,42 @@ Gets a collection of objects, which describe the property values to apply when all of the conditions of the are met. The default value is null. - -## XAML Property Element Usage - -``` - - - ZeroOrMoreSetters - - -``` - - -## XAML Values - *ZeroOrMoreSetters* - Zero or more objects. objects are not supported. - - enables you to start actions or set property values using objects when a set of conditions have been met. - - If there are two objects in the same or different setter collections setting the same property, the Setter that is declared last is used. - - Adding a child to a object implicitly adds it to the for the object. objects are not supported; only supports objects. - - - -## Examples - The following example contains two s. The first sets the **MinWidth** property value when the **HasItems** property is false and the **Width** property is **Auto**. The second one is similar but is for the **MinHeight** property. As mentioned above, adding a child to a object implicitly adds it to the for the object. Therefore, in the following example, `` is implicit. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Condition/Overview/Page1.xaml" id="Snippetmultitriggerexample1"::: - + +## XAML Property Element Usage + +``` + + + ZeroOrMoreSetters + + +``` + + +## XAML Values + *ZeroOrMoreSetters* + Zero or more objects. objects are not supported. + + enables you to start actions or set property values using objects when a set of conditions have been met. + + If there are two objects in the same or different setter collections setting the same property, the Setter that is declared last is used. + + Adding a child to a object implicitly adds it to the for the object. objects are not supported; only supports objects. + + + +## Examples + The following example contains two s. The first sets the **MinWidth** property value when the **HasItems** property is false and the **Width** property is **Auto**. The second one is similar but is for the **MinHeight** property. As mentioned above, adding a child to a object implicitly adds it to the for the object. Therefore, in the following example, `` is implicit. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Condition/Overview/Page1.xaml" id="Snippetmultitriggerexample1"::: + ]]> - Introduction to Styling and Templating Sample @@ -245,11 +242,11 @@ The child object to add. Adds a child object. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -285,11 +282,11 @@ The text to add to the object. Adds the text content of a node to the object. - instance is cast to an interface. - + instance is cast to an interface. + ]]> diff --git a/xml/System.Windows/Style.xml b/xml/System.Windows/Style.xml index c733bea1195..b496d6f808a 100644 --- a/xml/System.Windows/Style.xml +++ b/xml/System.Windows/Style.xml @@ -53,53 +53,52 @@ Enables the sharing of properties, resources, and event handlers between instances of a type. - on any element that derives from or . A style is most commonly declared as a resource inside the section. Because styles are resources, they obey the same scoping rules that apply to all resources, so where you declare a style affects where it can be applied. If, for instance, you declare the style in the root element of your application definition XAML file, the style can be used anywhere in your application. If you are creating a navigation application and declare the style in one of the application's XAML files, the style can be used only in that XAML file. For more information on scoping rules for resources, see [XAML Resources](/dotnet/framework/wpf/advanced/xaml-resources). - - The style declaration consists of a object that contains a collection of one or more objects. Each consists of a and a . The property is the name of the property of the element the style is to apply to. After the style is declared as a resource, it can then be referenced just like any other resource. - + on any element that derives from or . A style is most commonly declared as a resource inside the section. Because styles are resources, they obey the same scoping rules that apply to all resources, so where you declare a style affects where it can be applied. If, for instance, you declare the style in the root element of your application definition XAML file, the style can be used anywhere in your application. If you are creating a navigation application and declare the style in one of the application's XAML files, the style can be used only in that XAML file. For more information on scoping rules for resources, see [XAML Resources](/dotnet/framework/wpf/advanced/xaml-resources). + + The style declaration consists of a object that contains a collection of one or more objects. Each consists of a and a . The property is the name of the property of the element the style is to apply to. After the style is declared as a resource, it can then be referenced just like any other resource. + > [!NOTE] -> If there is more than one setter in the setter collection with the same property value, the setter that is declared last is used. Similarly, if you set a value for the same property in a style and on an element directly, the value set on the element directly takes precedence. - - The Windows Presentation Foundation (WPF) styling and templating model allows maintenance and sharing of a look as well as the separation of presentation and logic. The styling and templating model includes a suite of features that enable you to customize your UI. This suite of features includes the class as well as the following: - -- - -- and - -- - -- - - For more information, see [Styling and Templating](/dotnet/framework/wpf/controls/styling-and-templating). - - - -## Examples - The following example shows a style declaration that will affect the property of a . - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Property/Page1.xaml" id="Snippetstylesimple"::: - - To apply the above style, do the following: - +> If there is more than one setter in the setter collection with the same property value, the setter that is declared last is used. Similarly, if you set a value for the same property in a style and on an element directly, the value set on the element directly takes precedence. + + The Windows Presentation Foundation (WPF) styling and templating model allows maintenance and sharing of a look as well as the separation of presentation and logic. The styling and templating model includes a suite of features that enable you to customize your UI. This suite of features includes the class as well as the following: + +- + +- and + +- + +- + + For more information, see [Styling and Templating](/dotnet/framework/wpf/controls/styling-and-templating). + + + +## Examples + The following example shows a style declaration that will affect the property of a . + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Property/Page1.xaml" id="Snippetstylesimple"::: + + To apply the above style, do the following: + :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Property/Page1.xaml" id="Snippetstylesimpleapplied"::: - - You can also apply styles to all elements of a given type by using the property. Adding the target type to the style means that you no longer have to fully qualify the property you are setting with the `ClassName.PropertyName` syntax. The following example defines a style that will be applied to every element. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/window1.xaml" id="Snippet1"::: - + + You can also apply styles to all elements of a given type by using the property. Adding the target type to the style means that you no longer have to fully qualify the property you are setting with the `ClassName.PropertyName` syntax. The following example defines a style that will be applied to every element. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/window1.xaml" id="Snippet1"::: + > [!NOTE] -> Many WPF controls consist of a combination of other WPF controls, so creating a style that applies to all controls of a type can have broad impact. For instance, if you create a style that targets the controls in a , the style is applied to all controls in the canvas, even if the is part of another control, such as a . - - For information on how to extend or inherit from a defined style, see the page. - +> Many WPF controls consist of a combination of other WPF controls, so creating a style that applies to all controls of a type can have broad impact. For instance, if you create a style that targets the controls in a , the style is applied to all controls in the canvas, even if the is part of another control, such as a . + + For information on how to extend or inherit from a defined style, see the page. + ]]> x:Key Attribute x:Type Markup Extension - Introduction to Styling and Templating Sample @@ -132,11 +131,11 @@ Initializes a new instance of the class. - and style type. If this is used outside the context of the parser, behavior is undefined. - + and style type. If this is used outside the context of the parser, behavior is undefined. + ]]> @@ -232,44 +231,43 @@ Gets or sets a defined style that is the basis of the current style. A defined style that is the basis of the current style. The default value is . - value. - - -## XAML Attribute Usage - -``` - -``` - - -## XAML Values - *myStyle* - An existing style. Typically, you use the [Markup Extensions and WPF XAML](/dotnet/framework/wpf/advanced/markup-extensions-and-wpf-xaml) to refer to an existing style. - - - -## Examples - There are several ways that styles in WPF can be extended or inherited. Styles can be based on other styles through this property. When you use this property, the new style will inherit the values of the original style that are not explicitly redefined in the new style. In the following example, `Style2` inherits the value of `Yellow`, and adds a value of `Blue`. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Property/Page1.xaml" id="Snippetextendingstyle"::: - - Similarly, styles can be based on the style of an existing WPF element, as in the following example where the new style is based on the style of a element. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/window1.xaml" id="Snippet2"::: - + value. + + +## XAML Attribute Usage + +``` + +``` + + +## XAML Values + *myStyle* + An existing style. Typically, you use the [Markup Extensions and WPF XAML](/dotnet/framework/wpf/advanced/markup-extensions-and-wpf-xaml) to refer to an existing style. + + + +## Examples + There are several ways that styles in WPF can be extended or inherited. Styles can be based on other styles through this property. When you use this property, the new style will inherit the values of the original style that are not explicitly redefined in the new style. In the following example, `Style2` inherits the value of `Yellow`, and adds a value of `Blue`. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Property/Page1.xaml" id="Snippetextendingstyle"::: + + Similarly, styles can be based on the style of an existing WPF element, as in the following example where the new style is based on the style of a element. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/window1.xaml" id="Snippet2"::: + > [!NOTE] -> If you create a style with a property and base it on another style that also defines a property, the target type of the derived style must be the same as or be derived from the type of the base style. - - Styles defined for specific types can also be based on other styles, as in the following example. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Property/Page1.xaml" id="Snippetextendingstyletargettype"::: - +> If you create a style with a property and base it on another style that also defines a property, the target type of the derived style must be the same as or be derived from the type of the base style. + + Styles defined for specific types can also be based on other styles, as in the following example. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Property/Page1.xaml" id="Snippetextendingstyletargettype"::: + ]]> - Introduction to Styling and Templating Sample @@ -326,11 +324,11 @@ if the style is sealed; otherwise . - @@ -402,39 +400,39 @@ Gets or sets the collection of resources that can be used within the scope of this style. The resources that can be used within the scope of this style. - -## XAML Property Element Usage - + +## XAML Property Element Usage + ```xaml - - - oneOrMoreResourceElements - + + + oneOrMoreResourceElements + ``` -or- ```xaml - - - - - + + + + + ``` - -## XAML Values - *oneOrMoreResourceElements* - One or more resource elements. To be referenced later in either [StaticResource Markup Extension](/dotnet/framework/wpf/advanced/staticresource-markup-extension) or [DynamicResource Markup Extension](/dotnet/framework/wpf/advanced/dynamicresource-markup-extension) syntax in XAML, a resource element must have an `x:Key` attribute. - - \ - An external dictionary source. For details, see [Merged Resource Dictionaries](/dotnet/framework/wpf/advanced/merged-resource-dictionaries). - + +## XAML Values + *oneOrMoreResourceElements* + One or more resource elements. To be referenced later in either [StaticResource Markup Extension](/dotnet/framework/wpf/advanced/staticresource-markup-extension) or [DynamicResource Markup Extension](/dotnet/framework/wpf/advanced/dynamicresource-markup-extension) syntax in XAML, a resource element must have an `x:Key` attribute. + + \ + An external dictionary source. For details, see [Merged Resource Dictionaries](/dotnet/framework/wpf/advanced/merged-resource-dictionaries). + ]]> @@ -497,52 +495,51 @@ Gets a collection of and objects. A collection of and objects. The default is an empty collection. - property of a object can consist only of objects assignable to . Adding a child to a object implicitly adds it to the for the object. - - An explicit property element usage for is also relatively common. This is a markup style decision that can sometimes help distinguish from and items in a complex style. For example: - -``` - -``` - - -## XAML Property Element Usage - -``` - - oneOrMoreSetters - -``` - - -## XAML Values - *oneOrMoreSetters* - One or more or objects. - - - -## Examples - The following example shows how to use this property. - + property of a object can consist only of objects assignable to . Adding a child to a object implicitly adds it to the for the object. + + An explicit property element usage for is also relatively common. This is a markup style decision that can sometimes help distinguish from and items in a complex style. For example: + +``` + +``` + + +## XAML Property Element Usage + +``` + + oneOrMoreSetters + +``` + + +## XAML Values + *oneOrMoreSetters* + One or more or objects. + + + +## Examples + The following example shows how to use this property. + :::code language="csharp" source="~/snippets/csharp/System.Windows/Style/Setters/Pane1.xaml.cs" id="Snippet1"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ListBoxItemStyle/VisualBasic/Pane1.xaml.vb" id="Snippet1"::: - - Adding a child to a object implicitly adds it to the for the object. The following is implicitly added to the of the style: - - :::code language="xaml" source="~/snippets/csharp/System.Windows/ContentElement/AddHandler/page2.xaml" id="Snippetxaml2"::: - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/ListBoxItemStyle/VisualBasic/Pane1.xaml.vb" id="Snippet1"::: + + Adding a child to a object implicitly adds it to the for the object. The following is implicitly added to the of the style: + + :::code language="xaml" source="~/snippets/csharp/System.Windows/ContentElement/AddHandler/page2.xaml" id="Snippetxaml2"::: + ]]> - Introduction to Styling and Templating Sample @@ -576,11 +573,11 @@ The child object to add. Adds a child object. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -616,11 +613,11 @@ The text to add to the object. Adds the text content of a node to the object. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -657,11 +654,11 @@ Returns an object that has the provided identifying name. The object, if found. Returns if no object of that name was found. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -736,44 +733,43 @@ Gets or sets the type for which this style is intended. The target type for this style. - or . Therefore, your target type can be any of those elements. However, if you create a style with a property and base it on another style that also defines a property, the target type of the derived style must be the same as or be derived from the target type of the base style. - - If you do not specify a , then you must specify an `x:Key` for your and also qualify the properties in your style with a class name. - - -## XAML Attribute Usage - -``` - --or- - -``` - - -## XAML Values - `{x:Type ...}` - An [x:Type Markup Extension](/dotnet/framework/xaml-services/x-type-markup-extension) markup extension usage. - - *typeName* - The type name of the class. - - - -## Examples - The following example defines a style that will be applied to all instances of the element. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/window1.xaml" id="Snippet1"::: - - Setting the property to the type without setting an `x:Key` implicitly sets the `x:Key` to `{x:Type TextBlock}`. This also means that if you give the above an `x:Key` value of anything other than `{x:Type TextBlock}`, the would not be applied to all elements automatically. Instead, you need to apply the style to the elements explicitly. - - Many WPF controls consist of a combination of other WPF controls, so creating a style that applies to all controls of a type can have broad impact. For instance, if you create a style that targets the controls in a , the style is applied to all controls in the canvas, even if the is part of another control, such as a . - + or . Therefore, your target type can be any of those elements. However, if you create a style with a property and base it on another style that also defines a property, the target type of the derived style must be the same as or be derived from the target type of the base style. + + If you do not specify a , then you must specify an `x:Key` for your and also qualify the properties in your style with a class name. + + +## XAML Attribute Usage + +``` + +-or- + +``` + + +## XAML Values + `{x:Type ...}` + An [x:Type Markup Extension](/dotnet/framework/xaml-services/x-type-markup-extension) markup extension usage. + + *typeName* + The type name of the class. + + + +## Examples + The following example defines a style that will be applied to all instances of the element. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/window1.xaml" id="Snippet1"::: + + Setting the property to the type without setting an `x:Key` implicitly sets the `x:Key` to `{x:Type TextBlock}`. This also means that if you give the above an `x:Key` value of anything other than `{x:Type TextBlock}`, the would not be applied to all elements automatically. Instead, you need to apply the style to the elements explicitly. + + Many WPF controls consist of a combination of other WPF controls, so creating a style that applies to all controls of a type can have broad impact. For instance, if you create a style that targets the controls in a , the style is applied to all controls in the canvas, even if the is part of another control, such as a . + ]]> - Introduction to Styling and Templating Sample @@ -807,39 +803,38 @@ Gets a collection of objects that apply property values based on specified conditions. A collection of objects. The default is an empty collection. - . Essentially, triggers are objects that enable you to apply changes when certain conditions (such as when a certain property value becomes `true`, or when an event occurs) are satisfied. - - -## XAML Property Element Usage - -``` - -   -    oneOrMoreTriggers -   - -``` - - -## XAML Values - *oneOrMoreTriggers* - Zero or more object elements that are classes deriving from . - - - -## Examples - The following example shows a named available to controls. The defines a element that changes the property of a button when the property is `true`. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/app1.xaml" id="Snippet2"::: - + . Essentially, triggers are objects that enable you to apply changes when certain conditions (such as when a certain property value becomes `true`, or when an event occurs) are satisfied. + + +## XAML Property Element Usage + +``` + +   +    oneOrMoreTriggers +   + +``` + + +## XAML Values + *oneOrMoreTriggers* + Zero or more object elements that are classes deriving from . + + + +## Examples + The following example shows a named available to controls. The defines a element that changes the property of a button when the property is `true`. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/app1.xaml" id="Snippet2"::: + ]]> - Introduction to Styling and Templating Sample diff --git a/xml/System.Windows/Trigger.xml b/xml/System.Windows/Trigger.xml index 9bec0bcc0a1..7c260c957d6 100644 --- a/xml/System.Windows/Trigger.xml +++ b/xml/System.Windows/Trigger.xml @@ -45,29 +45,28 @@ Represents a trigger that applies property values or performs actions conditionally. - property that is set to `true` when the user hovers the cursor over a or the corresponding property of a . Representing end-user actions in property values, along with the element, allows WPF styles to change property values based on those end-user actions, all from within markup. - - The properties changed by triggers are automatically reset to their previous value when the triggered condition is no longer satisfied. Triggers are optimized for transient states which are expected to change and return to original state, such as on and on . The of interest must be a dependency property. - - Note that you must specify both the and properties on a for the trigger to be meaningful. If one or both of the properties are not set, an exception is thrown. - - The property of a object can only consist of objects. Adding a child to a object implicitly adds it to the for the object. objects are not supported; only supports objects. - - There are other types of triggers. allows you to apply changes based on the state of multiple properties. allows you to apply changes when an event occurs. and are for data-bound properties. - - - -## Examples - The following example shows a named available to controls. The defines a element that changes the property of a button when the property is `true`. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/app1.xaml" id="Snippet2"::: - + property that is set to `true` when the user hovers the cursor over a or the corresponding property of a . Representing end-user actions in property values, along with the element, allows WPF styles to change property values based on those end-user actions, all from within markup. + + The properties changed by triggers are automatically reset to their previous value when the triggered condition is no longer satisfied. Triggers are optimized for transient states which are expected to change and return to original state, such as on and on . The of interest must be a dependency property. + + Note that you must specify both the and properties on a for the trigger to be meaningful. If one or both of the properties are not set, an exception is thrown. + + The property of a object can only consist of objects. Adding a child to a object implicitly adds it to the for the object. objects are not supported; only supports objects. + + There are other types of triggers. allows you to apply changes based on the state of multiple properties. allows you to apply changes when an event occurs. and are for data-bound properties. + + + +## Examples + The following example shows a named available to controls. The defines a element that changes the property of a button when the property is `true`. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/app1.xaml" id="Snippet2"::: + ]]> - Introduction to Styling and Templating Sample @@ -128,28 +127,27 @@ Gets or sets the property that returns the value that is compared with the property of the trigger. The comparison is a reference equality check. A that returns the property value of the element. The default value is . - property. The comparison that is performed is a reference equality check. If the two values match, then the associated s apply the specified property values. - - Use the `ClassName.PropertyName` syntax to qualify the property you are specifying if the style or template that contains this trigger does not have the `TargetType` property set. - - Note that you must specify both the and properties on a for the trigger to be meaningful. If one or both of the properties are not set, an exception is thrown. - - - -## Examples - The following example contains a trigger that changes the property of a button when the property is `true`. Because the of the is set to , there's no need to qualify the `Property` properties, for example, `Property="IsPressed"`, with the class name. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/app1.xaml" id="Snippet2"::: - + property. The comparison that is performed is a reference equality check. If the two values match, then the associated s apply the specified property values. + + Use the `ClassName.PropertyName` syntax to qualify the property you are specifying if the style or template that contains this trigger does not have the `TargetType` property set. + + Note that you must specify both the and properties on a for the trigger to be meaningful. If one or both of the properties are not set, an exception is thrown. + + + +## Examples + The following example contains a trigger that changes the property of a button when the property is `true`. Because the of the is set to , there's no need to qualify the `Property` properties, for example, `Property="IsPressed"`, with the class name. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/app1.xaml" id="Snippet2"::: + ]]> A cannot contain a that refers to the property. After a is in use, it cannot be modified. - Introduction to Styling and Templating Sample @@ -181,11 +179,11 @@ Data that is relevant for type converter processing. Handles cases where a type converter provides a value for a property of a object. - attribute at the class level, which means that this method processes all attempts to set values of with a type converter. You do not typically call this method directly. - + attribute at the class level, which means that this method processes all attempts to set values of with a type converter. You do not typically call this method directly. + ]]> @@ -223,42 +221,41 @@ Gets a collection of objects, which describe the property values to apply when the specified condition has been met. The default value is . - -## XAML Property Element Usage - -``` - - - ZeroOrMoreSetters - - -``` - - -## XAML Values - *ZeroOrMoreSetters* - Zero or more objects. This does not support object. - - A allows you to use s to apply property values when the element meets a specified condition. For example, you may want to change the background color of an element when it is in focus. - - If the same property is set more than once, the last property value will be applied. - - The property of a object can only consist of objects. Adding a child to a object implicitly adds it to the for the object. objects are not supported; only supports objects. - - - -## Examples - As mentioned above, adding a child to a object implicitly adds it to the for the object. In the following example, `` is implicit. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/window1.xaml" id="Snippettriggersettersref"::: - + +## XAML Property Element Usage + +``` + + + ZeroOrMoreSetters + + +``` + + +## XAML Values + *ZeroOrMoreSetters* + Zero or more objects. This does not support object. + + A allows you to use s to apply property values when the element meets a specified condition. For example, you may want to change the background color of an element when it is in focus. + + If the same property is set more than once, the last property value will be applied. + + The property of a object can only consist of objects. Adding a child to a object implicitly adds it to the for the object. objects are not supported; only supports objects. + + + +## Examples + As mentioned above, adding a child to a object implicitly adds it to the for the object. In the following example, `` is implicit. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/window1.xaml" id="Snippettriggersettersref"::: + ]]> - Introduction to Styling and Templating Sample @@ -296,20 +293,20 @@ Gets or sets the name of the object with the property that causes the associated setters to be applied. The default property is . If this property is , then the property is evaluated with respect to the element this style or template is being applied to (the styled parent or the templated parent). - is part of) is applied. This is typically a named element that is within the template that contains this . - - You can name an object using the [x:Name Directive](/dotnet/framework/xaml-services/x-name-directive) syntax. - - - -## Examples - One scenario when you would use the property is when the property of interest is not a property of the templated parent, as in the following example: - - :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/menu.xaml" id="Snippettriggersourcename"::: - + is part of) is applied. This is typically a named element that is within the template that contains this . + + You can name an object using the [x:Name Directive](/dotnet/framework/xaml-services/x-name-directive) syntax. + + + +## Examples + One scenario when you would use the property is when the property of interest is not a property of the templated parent, as in the following example: + + :::code language="xaml" source="~/snippets/csharp/System.Windows/TemplateBindingExtension/Overview/menu.xaml" id="Snippettriggersourcename"::: + ]]> After a is in use, it cannot be modified. @@ -342,11 +339,11 @@ Signals the object that initialization is starting. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -378,11 +375,11 @@ Signals the object that initialization is complete. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -418,11 +415,11 @@ The child object to add. Adds a child object. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -458,11 +455,11 @@ The text to add to the object. Adds the text content of a node to the object. - instance is cast to an interface. - + instance is cast to an interface. + ]]> @@ -510,31 +507,31 @@ Gets or sets the value to be compared with the property value of the element. The comparison is a reference equality check. The default value is . See also the Exceptions section. - property of the . The comparison that is performed is a reference quality check. If the two values are equal, then the associated s apply the specified property values. - - Note that you must specify both the and properties on a for the trigger to be meaningful. Therefore, if one or both of the properties are not specified, then an exception is thrown. - - -## XAML Property Element Usage - -``` - - - Value - - -``` - - - -## Examples - The following example changes the property of a button when the property is `true`. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/app1.xaml" id="Snippet2"::: - + property of the . The comparison that is performed is a reference quality check. If the two values are equal, then the associated s apply the specified property values. + + Note that you must specify both the and properties on a for the trigger to be meaningful. Therefore, if one or both of the properties are not specified, then an exception is thrown. + + +## XAML Property Element Usage + +``` + + + Value + + +``` + + + +## Examples + The following example changes the property of a button when the property is `true`. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/app1.xaml" id="Snippet2"::: + ]]> Expressions such as bindings are not supported. diff --git a/xml/System.Windows/TriggerBase.xml b/xml/System.Windows/TriggerBase.xml index 43a4d393320..e25de7dba0d 100644 --- a/xml/System.Windows/TriggerBase.xml +++ b/xml/System.Windows/TriggerBase.xml @@ -28,31 +28,30 @@ Represents the base class for specifying a conditional value within a object. - , , and . Essentially, is the base class for objects that allow you to apply changes when certain conditions (such as when a certain property value becomes `true`, or when an event occurs) are satisfied. - - - -## Examples - There are several different types of triggers: , , , , and . - - The class is the simplest type of triggers. A object allows you to apply changes based on the value of a property. For example, the following example shows a named available to controls. The defines a element that changes the property of a button when the property is `true`. - - :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/app1.xaml" id="Snippet2"::: - - If you need to apply changes based on the state of multiple properties, you can use the . For an example, see the page. - - The class allows you to apply changes when an event occurs. The following example contains two objects, one of which occurs when the mouse enters the element and the other occurs when the mouse leaves the element. - + , , and . Essentially, is the base class for objects that allow you to apply changes when certain conditions (such as when a certain property value becomes `true`, or when an event occurs) are satisfied. + + + +## Examples + There are several different types of triggers: , , , , and . + + The class is the simplest type of triggers. A object allows you to apply changes based on the value of a property. For example, the following example shows a named available to controls. The defines a element that changes the property of a button when the property is `true`. + + :::code language="xaml" source="~/snippets/csharp/System.Windows/Setter/Overview/app1.xaml" id="Snippet2"::: + + If you need to apply changes based on the state of multiple properties, you can use the . For an example, see the page. + + The class allows you to apply changes when an event occurs. The following example contains two objects, one of which occurs when the mouse enters the element and the other occurs when the mouse leaves the element. + :::code language="xaml" source="~/snippets/csharp/System.Windows/EventTrigger/Overview/Default.xaml" id="Snippeteventtriggersnippet"::: - - These are also the and the classes. These are similar to and except that they are for data-bound properties. - + + These are also the and the classes. These are similar to and except that they are for data-bound properties. + ]]> - Introduction to Styling and Templating Sample Introduction to Data Templating Sample @@ -87,33 +86,32 @@ Gets a collection of objects to apply when the trigger object becomes active. This property does not apply to the class. The default value is . - class because an event represents a point in time while and correspond to object states. For objects, use the property instead. - + class because an event represents a point in time while and correspond to object states. For objects, use the property instead. + > [!NOTE] -> This property can only be set in Extensible Application Markup Language (XAML) via the collection syntax shown, or by accessing the collection object and using its various methods such as Add. The property to access the collection object itself is read-only, the collection itself is read-write. - - -## XAML Property Element Usage - -``` - - - OneOrMoreTriggerActions - - -``` - - -## XAML Values - *OneOrMoreTriggerActions* - One or more objects. - +> This property can only be set in Extensible Application Markup Language (XAML) via the collection syntax shown, or by accessing the collection object and using its various methods such as Add. The property to access the collection object itself is read-only, the collection itself is read-write. + + +## XAML Property Element Usage + +``` + + + OneOrMoreTriggerActions + + +``` + + +## XAML Values + *OneOrMoreTriggerActions* + One or more objects. + ]]> - Introduction to Styling and Templating Sample @@ -147,33 +145,32 @@ Gets a collection of objects to apply when the trigger object becomes inactive. This property does not apply to the class. The default value is . - class because an event represents a point in time while and correspond to object states. For objects, use the property instead. - + class because an event represents a point in time while and correspond to object states. For objects, use the property instead. + > [!NOTE] -> This property can only be set in Extensible Application Markup Language (XAML) via the collection syntax shown, or by accessing the collection object and using its various methods such as Add. The property to access the collection object itself is read-only, the collection itself is read-write. - - -## XAML Property Element Usage - -``` - - - OneOrMoreTriggerActions - - -``` - - -## XAML Values - *OneOrMoreTriggerActions* - One or more objects. - +> This property can only be set in Extensible Application Markup Language (XAML) via the collection syntax shown, or by accessing the collection object and using its various methods such as Add. The property to access the collection object itself is read-only, the collection itself is read-write. + + +## XAML Property Element Usage + +``` + + + OneOrMoreTriggerActions + + +``` + + +## XAML Values + *OneOrMoreTriggerActions* + One or more objects. + ]]> - Introduction to Styling and Templating Sample diff --git a/xml/System.Windows/UIElement3D.xml b/xml/System.Windows/UIElement3D.xml index 32730629532..d22a3a07687 100644 --- a/xml/System.Windows/UIElement3D.xml +++ b/xml/System.Windows/UIElement3D.xml @@ -28,43 +28,37 @@ is a base class for WPF core level implementations building on Windows Presentation Foundation (WPF) elements and basic presentation characteristics. - is an abstract base class from which you can derive classes to represent specific 3D elements. - - Much of the input, focusing, and eventing behavior for 3D elements in general is defined in the class. This includes the events for keyboard, mouse, and stylus input, and related status properties. Many of these events are routed events, and many of the input-related events have both a bubbling routing version as well as a tunneling version of the event. These paired events are typically the events of greatest interest to control authors. - - also includes APIs that relate to the WPF event model, including methods that can raise specified routed events that are sourced from an element instance. - - A has the following capabilities that are specifically defined by the class: - -- Can respond to user input (including control of where input is sent via handling of event routing or routing of commands). - -- Can raise routed events that travel a route through the logical element tree. - + is an abstract base class from which you can derive classes to represent specific 3D elements. + + Much of the input, focusing, and eventing behavior for 3D elements in general is defined in the class. This includes the events for keyboard, mouse, and stylus input, and related status properties. Many of these events are routed events, and many of the input-related events have both a bubbling routing version as well as a tunneling version of the event. These paired events are typically the events of greatest interest to control authors. + + also includes APIs that relate to the WPF event model, including methods that can raise specified routed events that are sourced from an element instance. + + A has the following capabilities that are specifically defined by the class: + +- Can respond to user input (including control of where input is sent via handling of event routing or routing of commands). +- Can raise routed events that travel a route through the logical element tree. + > [!IMPORTANT] -> state affects all input handling by that element. Elements that are not visible do not participate in hit testing and do not receive input events, even if the mouse is over the bounds of where the element would be if were visible. - - Unlike the class, the class does not include layout. Therefore, the class does not include **Measure** or **Arrange** methods. - - A class that derives from and maintains its own collection of objects by overriding and must still pass new objects to . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - - -## Examples - The following example shows how to derive from the class to create a `Sphere` class: - +> state affects all input handling by that element. Elements that are not visible do not participate in hit testing and do not receive input events, even if the mouse is over the bounds of where the element would be if were visible. + + Unlike the class, the class does not include layout. Therefore, the class does not include **Measure** or **Arrange** methods. + + A class that derives from and maintains its own collection of objects by overriding and must still pass new objects to . + + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + +## Examples + The following example shows how to derive from the class to create a `Sphere` class: + :::code language="csharp" source="~/snippets/csharp/System.Windows/UIElement3D/Overview/Sphere.cs" id="Snippetsphere"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Shapes/visualbasic/sphere.vb" id="Snippetsphere"::: - - For the complete sample, see [UIElement3D Sphere Sample](https://go.microsoft.com/fwlink/?LinkID=160044). - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Shapes/visualbasic/sphere.vb" id="Snippetsphere"::: + ]]> - Handling Events in 3-D Sample @@ -88,11 +82,11 @@ Initializes a new instance of the class. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -145,15 +139,13 @@ A reference to the handler implementation. Adds a routed event handler for a specified routed event, adding the handler to the handler collection on the current element. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + @@ -188,26 +180,24 @@ An identifier for the routed event to be handled. A reference to the handler implementation. - to register the handler such that it is invoked even when the routed event is marked handled in its event data; to register the handler with the default condition that it will not be invoked if the routed event is already marked handled. - - The default is . - + to register the handler such that it is invoked even when the routed event is marked handled in its event data; to register the handler with the default condition that it will not be invoked if the routed event is already marked handled. + + The default is . + Do not routinely ask to rehandle a routed event. Adds a routed event handler for a specified routed event, adding the handler to the handler collection on the current element. Specify as to have the provided handler be invoked for routed event that had already been marked as handled by another element along the event route. - is marked handled by class handling, you might be able to add handlers for instead. - - You can add the same handler for the same event multiple times without raising an exception. However, the handler is actually invoked multiple times when the event is handled. Therefore, consider how this behavior might have side effects that should be accounted for in your handler implementation. - - You typically use this method to provide the implementation of the "add" accessor for the Microsoft .NET event access pattern of a custom routed event. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is marked handled by class handling, you might be able to add handlers for instead. + + You can add the same handler for the same event multiple times without raising an exception. However, the handler is actually invoked multiple times when the event is handled. Therefore, consider how this behavior might have side effects that should be accounted for in your handler implementation. + + You typically use this method to provide the implementation of the "add" accessor for the Microsoft .NET event access pattern of a custom routed event. + ]]> @@ -242,13 +232,11 @@ The event data that is used to add the handlers. This method uses the property of the event data to create the handlers. Adds handlers to the specified for the current event handler collection. - or those that don't) to add handlers for child elements to the . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + or those that don't) to add handlers for child elements to the . + ]]> @@ -279,21 +267,19 @@ if this element can be used as the target of a drag-and-drop operation; otherwise, . The default value is . - to `true`. Beyond this basic setting, drag-and-drop behavior is entirely implementation specific and is not defined by or any other base element class. Certain controls, for example, , do have a default behavior. For more information on drag and drop, see [Drag and Drop Overview](/dotnet/framework/wpf/advanced/drag-and-drop-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + to `true`. Beyond this basic setting, drag-and-drop behavior is entirely implementation specific and is not defined by or any other base element class. Certain controls, for example, , do have a default behavior. For more information on drag and drop, see [Drag and Drop Overview](/dotnet/framework/wpf/advanced/drag-and-drop-overview). + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -322,11 +308,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -581,19 +567,17 @@ if the mouse is successfully captured; otherwise, . - is `true` before you call . - - If calling returns `true`, then is also `true`. - - If calling returns `true`, then the and events are raised, with in the event data reported as the element where the method is called. If you force capture, you might interfere with existing captures - especially with captures that relate to drag-and-drop with the mouse. - - To clear mouse capture from all elements, call with the `element` parameter provided as `null`. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is `true` before you call . + + If calling returns `true`, then is also `true`. + + If calling returns `true`, then the and events are raised, with in the event data reported as the element where the method is called. If you force capture, you might interfere with existing captures - especially with captures that relate to drag-and-drop with the mouse. + + To clear mouse capture from all elements, call with the `element` parameter provided as `null`. + ]]> @@ -629,21 +613,19 @@ if the stylus was successfully captured; otherwise, . - method . The actual capture behavior is implemented by the active stylus device implementation. - - To be captured, an element must be enabled. Check whether is `true` return before you call . - - If calling returns `true`, is also `true`. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + method . The actual capture behavior is implemented by the active stylus device implementation. + + To be captured, an element must be enabled. Check whether is `true` return before you call . + + If calling returns `true`, is also `true`. + ]]> @@ -677,15 +659,15 @@ if the specified touch is captured to this element; otherwise, . - will return `false` if the is currently captured to another element. - - If returns `true`, then the event is raised. - - To release capture of a single touch from this element, use the method and specify the touch device to release. To release all touches from this element, use the method. - + will return `false` if the is currently captured to another element. + + If returns `true`, then the event is raised. + + To release capture of a single touch from this element, use the method and specify the touch device to release. To release all touches from this element, use the method. + ]]> @@ -724,30 +706,28 @@ Gets a collection of objects associated with this element. The collection of all objects. - enables command handling of a specific command for this element, and declares the linkage between a command, its events, and the handlers attached by this element. - - Another typical way to populate the collection is to use methods programmatically. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## XAML Property Element Usage - -``` - - - oneOrMoreCommandBindings - -``` - - -## XAML Values - *oneOrMoreCommandBindings* - One or more elements. Each of these should have a attribute set to a known command, and attributes set for the and handler implementations. For more information see . - + enables command handling of a specific command for this element, and declares the linkage between a command, its events, and the handlers attached by this element. + + Another typical way to populate the collection is to use methods programmatically. + + +## XAML Property Element Usage + +``` + + + oneOrMoreCommandBindings + +``` + + +## XAML Values + *oneOrMoreCommandBindings* + One or more elements. Each of these should have a attribute set to a known command, and attributes set for the and handler implementations. For more information see . + ]]> @@ -777,31 +757,28 @@ Occurs when the input system reports an underlying drag event with this element as the drag target. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -828,15 +805,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -865,32 +840,29 @@ Occurs when the input system reports an underlying drag event with this element as the drag origin. - attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -917,15 +889,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -954,34 +924,31 @@ Occurs when the input system reports an underlying drag event with this element as the potential drop target. - and related preview events. - - This event creates an alias for the attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + and related preview events. + + This event creates an alias for the attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -1008,15 +975,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -1045,31 +1010,28 @@ Occurs when the input system reports an underlying drop event with this element as the drop target. - attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -1096,15 +1058,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -1139,23 +1099,21 @@ if both logical and keyboard focus were set to this element; if only logical focus was set. - and must both be `true`. - - Even if an element is focusable and enabled, event handling within a specific tree, (such as for a composite control) might respond to the preview focus events by not allowing focus there, thus this method would return `false`. - - If calling returns `true`, and are also `true`. - - If the related properties are not already `true`, when you call , one or more of the following events are raised in the following order: , (source is the new focus target), , , , (source is the new focus target). - - In order for this call to be successful, some other element in the application needed to have focus previously. - - Focus in general is governed by two separate concepts: keyboard focus and logical focus, which are not always identical. This method sets the logical focus, and also attempts to set the keyboard focus. There is no programmatic means to set keyboard focus specifically, this happens due to user input. For more information, see [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + and must both be `true`. + + Even if an element is focusable and enabled, event handling within a specific tree, (such as for a composite control) might respond to the preview focus events by not allowing focus there, thus this method would return `false`. + + If calling returns `true`, and are also `true`. + + If the related properties are not already `true`, when you call , one or more of the following events are raised in the following order: , (source is the new focus target), , , , (source is the new focus target). + + In order for this call to be successful, some other element in the application needed to have focus previously. + + Focus in general is governed by two separate concepts: keyboard focus and logical focus, which are not always identical. This method sets the logical focus, and also attempts to set the keyboard focus. There is no programmatic means to set keyboard focus specifically, this happens due to user input. For more information, see [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + ]]> @@ -1189,25 +1147,23 @@ if the element is focusable; otherwise . The default is . - is the Microsoft .NET property accessor for what is in reality a dependency property. This particular dependency property quite frequently has its apparent "default" value set differently in derived element classes. This commonly occurs in one of two ways: - -- The dependency property is inherited by a particular derived class, but that derived class overrides the metadata of the dependency property and changes the property default value. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + is the Microsoft .NET property accessor for what is in reality a dependency property. This particular dependency property quite frequently has its apparent "default" value set differently in derived element classes. This commonly occurs in one of two ways: + +- The dependency property is inherited by a particular derived class, but that derived class overrides the metadata of the dependency property and changes the property default value. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -1239,17 +1195,14 @@ Occurs when the value of the property changes. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + - Handling Events in 3-D Sample @@ -1276,11 +1229,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -1311,15 +1264,13 @@ When overridden in a derived class, returns an alternative user interface (UI) parent for this element if no visual parent exists. An object, if implementation of a derived class has an alternate parent connection to report. - provides a practical implementation. - - Alternative parents are used for event routing, in cases where an element creates an alternative parent structure so that its events are routed in a way that diverges from the standard pattern of routing up the visual tree to the standard parent, or downward in the preview routing strategy. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + provides a practical implementation. + + Alternative parents are used for event routing, in cases where an element creates an alternative parent structure so that its events are routed in a way that diverges from the standard pattern of routing up the visual tree to the standard parent, or downward in the preview routing strategy. + ]]> @@ -1348,32 +1299,29 @@ Occurs when the input system reports an underlying drag-and-drop event that involves this element. - event allows the source of a drag event to modify the appearance of the mouse pointer in order to give the user visual feedback during a drag-and-drop operation. The visual feedback reinforces that a drag-and-drop operation is in process. - - This event creates an alias for the attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + event allows the source of a drag event to modify the appearance of the mouse pointer in order to give the user visual feedback during a drag-and-drop operation. The visual feedback reinforces that a drag-and-drop operation is in process. + + This event creates an alias for the attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -1400,15 +1348,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -1437,35 +1383,32 @@ Occurs when this element gets logical focus. - method is called still gets logical focus. - - A more precise interpretation of this event is that it is raised when the value of the property of an element in the route is changed from `false` to `true`. - - Because this event uses bubbling routing, the element that receives focus might be a child element instead of the element where the event handler is actually attached. Check the in the event data to determine the actual element that gained focus. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- There is no corresponding tunneling event. - -- Override to implement class handling for this event in derived classes. - + method is called still gets logical focus. + + A more precise interpretation of this event is that it is raised when the value of the property of an element in the route is changed from `false` to `true`. + + Because this event uses bubbling routing, the element that receives focus might be a child element instead of the element where the event handler is actually attached. Check the in the event data to determine the actual element that gained focus. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- There is no corresponding tunneling event. + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -1492,15 +1435,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -1532,34 +1473,31 @@ Occurs when the keyboard is focused on this element. - is a similar event that tracks status changes in a property that maintains the focus state for an element; the event is raised in many of the same circumstances. - - Because this event uses bubbling routing, the element that has focus might be a child element instead of the element where the event handler is actually attached. Check the in the event data to determine the actual element that has focus. - - This event creates an alias for the attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + is a similar event that tracks status changes in a property that maintains the focus state for an element; the event is raised in many of the same circumstances. + + Because this event uses bubbling routing, the element that has focus might be a child element instead of the element where the event handler is actually attached. Check the in the event data to determine the actual element that has focus. + + This event creates an alias for the attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -1586,15 +1524,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -1626,34 +1562,31 @@ Occurs when this element captures the mouse. - in the event data to determine the actual element that has mouse capture. - - This event creates an alias for the attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- There is no defined corresponding tunneling event. - -- Override to implement class handling for this event in derived classes. - + in the event data to determine the actual element that has mouse capture. + + This event creates an alias for the attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- There is no defined corresponding tunneling event. + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -1680,15 +1613,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -1720,33 +1651,30 @@ Occurs when this element captures the stylus. - in the event data to determine the actual element that has capture. - - This event creates an alias for the attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- There is no defined corresponding tunneling event. - -- Override to implement class handling for this event in derived classes. - - ]]> - - Handling Events in 3-D Sample + in the event data to determine the actual element that has capture. + + This event creates an alias for the attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- There is no defined corresponding tunneling event. + +- Override to implement class handling for this event in derived classes. + + ]]> + @@ -1773,15 +1701,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -1809,21 +1735,21 @@ Occurs when a touch is captured to this element. - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate| of type | - -- Override to implement class handling for this event in derived classes. - + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate| of type | + +- Override to implement class handling for this event in derived classes. + ]]> @@ -1884,32 +1810,30 @@ Gets the collection of input bindings associated with this element. The collection of input bindings. - implements input bindings that include properties that are particular to mouse devices. - - The collection of input bindings will include both input bindings that pertain to the type as well as input bindings that are declared on the instance. - - A related property, , maintains a collection of command bindings. These differ from input bindings in that they represent the next level down of command processing - actions that are tied to known commands. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## XAML Property Element Usage - -``` - - - oneOrMoreInputBindings - -``` - - -## XAML Values - *oneOrMoreInputBindings* - One or more elements (typically the or derived classes). Each of these is expected to have a and attribute set. - + implements input bindings that include properties that are particular to mouse devices. + + The collection of input bindings will include both input bindings that pertain to the type as well as input bindings that are declared on the instance. + + A related property, , maintains a collection of command bindings. These differ from input bindings in that they represent the next level down of command processing - actions that are tied to known commands. + + +## XAML Property Element Usage + +``` + + + oneOrMoreInputBindings + +``` + + +## XAML Values + *oneOrMoreInputBindings* + One or more elements (typically the or derived classes). Each of these is expected to have a and attribute set. + ]]> @@ -1940,25 +1864,19 @@ Invalidates the model that represents the element. - class, you can use this method together with the method to refresh the model of the element. - - You only need to call this method in advanced scenarios. One such advanced scenario is if the derived class has multiple properties that affect the appearance, and you want to update the underlying model only once. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - - -## Examples - The following example shows how to derive from the class to create a `Sphere` class: - + class, you can use this method together with the method to refresh the model of the element. + + You only need to call this method in advanced scenarios. One such advanced scenario is if the derived class has multiple properties that affect the appearance, and you want to update the underlying model only once. + +## Examples + The following example shows how to derive from the class to create a `Sphere` class: + :::code language="csharp" source="~/snippets/csharp/System.Windows/UIElement3D/Overview/Sphere.cs" id="Snippetsphere"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Shapes/visualbasic/sphere.vb" id="Snippetsphere"::: - - For the complete sample, see [UIElement3D Sphere Sample](https://go.microsoft.com/fwlink/?LinkID=160044). - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Shapes/visualbasic/sphere.vb" id="Snippetsphere"::: + ]]> @@ -1989,23 +1907,21 @@ if the element is enabled; otherwise, . The default value is . - on particular elements, often at runtime. Therefore, the default value listed here is sometimes not effective. Attempting to set this value will also potentially be overridden by the value returned by . - - Elements that are not enabled do not participate in hit testing or focus and therefore will not be sources of input events. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + on particular elements, often at runtime. Therefore, the default value listed here is sometimes not effective. Attempting to set this value will also potentially be overridden by the value returned by . + + Elements that are not enabled do not participate in hit testing or focus and therefore will not be sources of input events. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -2035,16 +1951,13 @@ Occurs when the value of the property on this element changes. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + - Handling Events in 3-D Sample @@ -2073,11 +1986,11 @@ if the element is enabled; otherwise, . - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -2111,11 +2024,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -2146,23 +2059,21 @@ if this element has logical focus; otherwise, . - or . To set focus programmatically, call . Focus can also be set by user action or by control implementations, which possibly include mouse capture behavior. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + or . To set focus programmatically, call . Focus can also be set by user action or by control implementations, which possibly include mouse capture behavior. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -2193,11 +2104,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -2228,21 +2139,19 @@ if this element could be returned as a hit test result from at least one point; otherwise, . The default value is . - to `false` on a composited control unless you do not want any input or hit testing on that control. For more information on hit testing, see [Hit Testing in the Visual Layer](/dotnet/framework/wpf/graphics-multimedia/hit-testing-in-the-visual-layer). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + to `false` on a composited control unless you do not want any input or hit testing on that control. For more information on hit testing, see [Hit Testing in the Visual Layer](/dotnet/framework/wpf/graphics-multimedia/hit-testing-in-the-visual-layer). + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -2272,16 +2181,13 @@ Occurs when the value of the dependency property changes on this element. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + - Handling Events in 3-D Sample @@ -2308,11 +2214,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -2343,13 +2249,11 @@ if an input method is active; otherwise, . The default value of the underlying attached property is however, this will be influenced by the actual state of input methods at runtime. - for the currently enabled input methods (keyboard, speech, other input devices). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + for the currently enabled input methods (keyboard, speech, other input devices). + ]]> @@ -2389,23 +2293,21 @@ if this element has keyboard focus; otherwise, . The default is . - and are commonly used within class event handlers for other input-related events, for instance to determine whether the element already has keyboard focus, or to make determinations when mouse events and keyboard events occur in conjunction. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + and are commonly used within class event handlers for other input-related events, for instance to determine whether the element already has keyboard focus, or to make determinations when mouse events and keyboard events occur in conjunction. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -2436,16 +2338,13 @@ Occurs when the value of the property changes on this element. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + - Handling Events in 3-D Sample @@ -2472,11 +2371,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -2516,25 +2415,23 @@ if keyboard focus is on the element or its child elements; otherwise, . - event, unless a derived class has overridden to suppress the event. - - You do not set this property directly, but you can set the focus to an element by calling , or by making a request. Either of these method calls might change this property value. - - and are typically used within class event handlers for other input-related events, for instance to determine whether the element already has keyboard focus, or to make determinations when mouse events and keyboard events occur in conjunction. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + event, unless a derived class has overridden to suppress the event. + + You do not set this property directly, but you can set the focus to an element by calling , or by making a request. Either of these method calls might change this property value. + + and are typically used within class event handlers for other input-related events, for instance to determine whether the element already has keyboard focus, or to make determinations when mouse events and keyboard events occur in conjunction. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -2563,17 +2460,14 @@ Occurs when the value of the property changes on this element. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + - Handling Events in 3-D Sample @@ -2600,11 +2494,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -2638,21 +2532,19 @@ if the element has mouse capture; otherwise, . The default is . - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -2684,16 +2576,13 @@ Occurs when the value of the property changes on this element. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + - Handling Events in 3-D Sample @@ -2720,11 +2609,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -2761,19 +2650,19 @@ if this element or a contained element has mouse capture; otherwise, . - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -2804,13 +2693,11 @@ Occurs when the value of the property changes on this element. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + @@ -2839,11 +2726,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -2884,23 +2771,21 @@ if the mouse pointer is over the same element result as a hit test; otherwise, . The default is . - , this property is only `true` if the mouse pointer is over the literal element - as it is for a hit test. If the mouse pointer is instead over a child element, this property will be `false`. For most scenarios where you are not authoring controls, use instead. - - If the mouse is captured by this element, and this property is `true` at time of capture, this property will continue to return `true` until mouse capture is lost and the pointer is not over its bounds. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + , this property is only `true` if the mouse pointer is over the literal element - as it is for a hit test. If the mouse pointer is instead over a child element, this property will be `false`. For most scenarios where you are not authoring controls, use instead. + + If the mouse is captured by this element, and this property is `true` at time of capture, this property will continue to return `true` until mouse capture is lost and the pointer is not over its bounds. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -2931,13 +2816,11 @@ Occurs when the value of the property changes on this element. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + @@ -2966,11 +2849,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -3011,27 +2894,25 @@ if mouse pointer is over the element or its child elements; otherwise, . The default is . - style control will report as `true` if the mouse is anywhere over its geometry, including any . - - Although an analogous "IsMouseOverChanged" event does not exist, several similar events do. For example, you can handle , , and . - - If this element captures the mouse, this property remains `true` until mouse capture is lost and the mouse pointer leaves the element bounds. - - Some controls deliberately capture the mouse on certain actions that do not appear to directly involve the mouse. This can lead to being `true` even though the mouse has not apparently moved. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + style control will report as `true` if the mouse is anywhere over its geometry, including any . + + Although an analogous "IsMouseOverChanged" event does not exist, several similar events do. For example, you can handle , , and . + + If this element captures the mouse, this property remains `true` until mouse capture is lost and the mouse pointer leaves the element bounds. + + Some controls deliberately capture the mouse on certain actions that do not appear to directly involve the mouse. This can lead to being `true` even though the mouse has not apparently moved. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -3060,11 +2941,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -3098,21 +2979,19 @@ if the element has stylus capture; otherwise, . The default is . - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -3144,13 +3023,11 @@ Occurs when the value of the property changes on this element. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + @@ -3179,11 +3056,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -3220,21 +3097,19 @@ if this element or a contained element has stylus capture; otherwise, . The default is . - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -3265,13 +3140,11 @@ Occurs when the value of the property changes on this element. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + @@ -3300,11 +3173,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -3345,27 +3218,25 @@ if the stylus pointer is over the same element result as a hit test; otherwise, . The default is . - , this property is only `true` if the stylus is over the element. If the stylus is instead over a child element or over elements that are part of an element's deeper compositing (the visual tree), this property will be `false`. - - Unless you know how a control is composited (for example, you use this property in a custom control template for a control that you define), this property might return unexpected results. For most scenarios where you are not authoring controls, use instead. - - If this element has stylus capture and this property is `true` at the time of capture, this property remains `true` until stylus capture is lost and the stylus is not over its bounds. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + , this property is only `true` if the stylus is over the element. If the stylus is instead over a child element or over elements that are part of an element's deeper compositing (the visual tree), this property will be `false`. + + Unless you know how a control is composited (for example, you use this property in a custom control template for a control that you define), this property might return unexpected results. For most scenarios where you are not authoring controls, use instead. + + If this element has stylus capture and this property is `true` at the time of capture, this property remains `true` until stylus capture is lost and the stylus is not over its bounds. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -3395,13 +3266,11 @@ Occurs when the value of the property changes on this element. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + @@ -3430,11 +3299,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -3474,23 +3343,21 @@ if stylus cursor is over the element or its child elements; otherwise, . The default is . - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -3519,11 +3386,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -3560,27 +3427,25 @@ if the element is visible; otherwise, . - value takes many factors into account. In contrast, , which is a settable property, only indicates the intention to programmatically make an element visible or invisible. - - Changes to the value of this property will typically raise the event. There is no matching Microsoft .NET "On*" class handling override method that would allow some derived class to override that behavior and handle the event, but a class handler could still be attached directly with . - - Elements where is `false` do not participate in input events (or commands), do not influence either the measure or arrange passes of layout, are not focusable, are not in a tab sequence, and will not be reported in hit testing. In contrast, elements where is `false` will still participate in events and commands, and hit testing, but are also not focusable. - - is not intended to be used as a style trigger. Using as a style trigger might have unpredictable results. is intended for state checking by lower level input implementations. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + value takes many factors into account. In contrast, , which is a settable property, only indicates the intention to programmatically make an element visible or invisible. + + Changes to the value of this property will typically raise the event. There is no matching Microsoft .NET "On*" class handling override method that would allow some derived class to override that behavior and handle the event, but a class handler could still be attached directly with . + + Elements where is `false` do not participate in input events (or commands), do not influence either the measure or arrange passes of layout, are not focusable, are not in a tab sequence, and will not be reported in hit testing. In contrast, elements where is `false` will still participate in events and commands, and hit testing, but are also not focusable. + + is not intended to be used as a style trigger. Using as a style trigger might have unpredictable results. is intended for state checking by lower level input implementations. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -3609,13 +3474,11 @@ Occurs when the value of the property changes on this element. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + @@ -3644,11 +3507,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> @@ -3680,30 +3543,27 @@ Occurs when a key is pressed while the keyboard is focused on this element. - attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -3730,15 +3590,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -3770,30 +3628,27 @@ Occurs when a key is released while the keyboard is focused on this element. - attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -3820,15 +3675,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -3857,35 +3710,32 @@ Occurs when this element loses logical focus. - method is called still gets logical focus. - - A more precise interpretation of this event is that it is raised when the value of the property of an element in the route changes from `true` to `false`. - - Because this event uses bubbling routing, the element that loses focus might be a child element instead of the element where the event handler is actually attached. Check the in the event data to determine the actual element that gained focus. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- There is no corresponding tunneling event. - -- Override to implement class handling for this event in derived classes. - + method is called still gets logical focus. + + A more precise interpretation of this event is that it is raised when the value of the property of an element in the route changes from `true` to `false`. + + Because this event uses bubbling routing, the element that loses focus might be a child element instead of the element where the event handler is actually attached. Check the in the event data to determine the actual element that gained focus. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- There is no corresponding tunneling event. + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -3912,15 +3762,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -3952,31 +3800,28 @@ Occurs when the keyboard is no longer focused on this element. - in the event data to determine the actual element that lost focus. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - - ]]> - - Handling Events in 3-D Sample + in the event data to determine the actual element that lost focus. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + + ]]> + @@ -4003,15 +3848,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -4043,33 +3886,30 @@ Occurs when this element loses mouse capture. - in the event data to determine the actual element that lost capture. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- There is no defined corresponding tunneling event. - -- Override to implement class handling for this event in derived classes. - - ]]> - - Handling Events in 3-D Sample + in the event data to determine the actual element that lost capture. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- There is no defined corresponding tunneling event. + +- Override to implement class handling for this event in derived classes. + + ]]> + @@ -4096,15 +3936,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -4136,33 +3974,30 @@ Occurs when this element loses stylus capture. - in the event data to determine the actual element that lost focus. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- There is no defined corresponding tunneling event. - -- Override to implement class handling for this event in derived classes. - - ]]> - - Handling Events in 3-D Sample + in the event data to determine the actual element that lost focus. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- There is no defined corresponding tunneling event. + +- Override to implement class handling for this event in derived classes. + + ]]> + @@ -4189,15 +4024,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -4225,21 +4058,21 @@ Occurs when this element loses a touch capture. - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate| of type .| - -- Override to implement class handling for this event in derived classes. - + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate| of type .| + +- Override to implement class handling for this event in derived classes. + ]]> @@ -4293,40 +4126,37 @@ Occurs when any mouse button is pressed while the pointer is over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - The event is often raised together with either or , which correspond to a press of one of the two standard mouse buttons. and are also routed events, but they are direct routed events, and the appropriate button-specific event is raised when the event reaches this element along the event route. See Remarks for or . - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + The event is often raised together with either or , which correspond to a press of one of the two standard mouse buttons. and are also routed events, but they are direct routed events, and the appropriate button-specific event is raised when the event reaches this element along the event route. See Remarks for or . + > [!IMPORTANT] -> Some controls might have inherent class handling for mouse button events. The left mouse button down event is the most likely event to have class handling in a control. The class handling often marks the underlying class event as handled. Once the event is marked handled, other instance handlers that are attached to that element are not ordinarily raised. Any other class or instance handlers that are attached to elements in the bubbling direction towards the root in the UI tree are also not ordinarily raised. - - You can resolve the issue that is outlined in the preceding Important and still receive events for left mouse button down events on a derived class that has class handling by using either of these solutions: - -- Attach handlers for the event, which is not marked as handled by the controls. Notice that because this is a preview event, the route starts at the root and tunnels down to the control. - -- Register a handler on the control procedurally by calling and choosing the signature option that enables handlers to listen for events even if they are already marked as handled in the routed event data. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - - ]]> - - Handling Events in 3-D Sample +> Some controls might have inherent class handling for mouse button events. The left mouse button down event is the most likely event to have class handling in a control. The class handling often marks the underlying class event as handled. Once the event is marked handled, other instance handlers that are attached to that element are not ordinarily raised. Any other class or instance handlers that are attached to elements in the bubbling direction towards the root in the UI tree are also not ordinarily raised. + + You can resolve the issue that is outlined in the preceding Important and still receive events for left mouse button down events on a derived class that has class handling by using either of these solutions: + +- Attach handlers for the event, which is not marked as handled by the controls. Notice that because this is a preview event, the route starts at the root and tunnels down to the control. + +- Register a handler on the control procedurally by calling and choosing the signature option that enables handlers to listen for events even if they are already marked as handled in the routed event data. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + + ]]> + @@ -4353,15 +4183,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -4393,31 +4221,28 @@ Occurs when the mouse pointer enters the bounds of this element. - is a [Routed Events Overview](/dotnet/framework/wpf/advanced/routed-events-overview) that uses the direct event handling routing strategy. Direct routed events are not raised along a route; instead, they are handled in the same element where they are raised. - - Although tracks when the mouse pointer enters the bounds of an element, this event more literally reports that the property value has changed from `false` to `true` on this element. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Direct| -|Delegate|| - -- Override to implement class handling for this event in derived classes. - - ]]> - - Handling Events in 3-D Sample + is a [Routed Events Overview](/dotnet/framework/wpf/advanced/routed-events-overview) that uses the direct event handling routing strategy. Direct routed events are not raised along a route; instead, they are handled in the same element where they are raised. + + Although tracks when the mouse pointer enters the bounds of an element, this event more literally reports that the property value has changed from `false` to `true` on this element. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Direct| +|Delegate|| + +- Override to implement class handling for this event in derived classes. + + ]]> + @@ -4444,15 +4269,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -4484,31 +4307,28 @@ Occurs when the mouse pointer leaves the bounds of this element. - is a [Routed Events Overview](/dotnet/framework/wpf/advanced/routed-events-overview) that uses the direct event handling routing strategy. Direct routed events are not raised along a route; instead, they are handled in the same element where they are raised. - - Although tracks when the mouse leaves an element, this event more literally reports that the property value has changed from `true` to `false` on this element. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Direct| -|Delegate|| - -- Override to implement class handling for this event in derived classes. - - ]]> - - Handling Events in 3-D Sample + is a [Routed Events Overview](/dotnet/framework/wpf/advanced/routed-events-overview) that uses the direct event handling routing strategy. Direct routed events are not raised along a route; instead, they are handled in the same element where they are raised. + + Although tracks when the mouse leaves an element, this event more literally reports that the property value has changed from `true` to `false` on this element. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Direct| +|Delegate|| + +- Override to implement class handling for this event in derived classes. + + ]]> + @@ -4535,15 +4355,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -4575,43 +4393,40 @@ Occurs when the left mouse button is pressed while the mouse pointer is over this element. - . - - This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. - - The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. This possibly includes class-handler generated events such as . - - Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . - + . + + This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. + + The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. This possibly includes class-handler generated events such as . + + Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . + > [!IMPORTANT] -> The class handling often marks the underlying class event as handled. Once the event is marked handled, other instance handlers that are attached to that element are not ordinarily raised. Any other class or instance handlers that are attached to elements in the bubbling direction towards the root in the UI tree are also not ordinarily raised. - - You can resolve the issue that is outlined in the preceding Important and still receive events for left mouse button down events on a derived class that has class handling by using either of these solutions: - -- Attach handlers for the event, which is not marked as handled by the controls. Notice that because this is a preview event, the route starts at the root and tunnels down to the control. - -- Register a handler on the control procedurally by calling and choosing the signature option that enables handlers to listen for events even if they are already marked as handled in the routed event data. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Direct| -|Delegate|| - -- Override to implement class handling for this event in derived classes. - +> The class handling often marks the underlying class event as handled. Once the event is marked handled, other instance handlers that are attached to that element are not ordinarily raised. Any other class or instance handlers that are attached to elements in the bubbling direction towards the root in the UI tree are also not ordinarily raised. + + You can resolve the issue that is outlined in the preceding Important and still receive events for left mouse button down events on a derived class that has class handling by using either of these solutions: + +- Attach handlers for the event, which is not marked as handled by the controls. Notice that because this is a preview event, the route starts at the root and tunnels down to the control. + +- Register a handler on the control procedurally by calling and choosing the signature option that enables handlers to listen for events even if they are already marked as handled in the routed event data. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Direct| +|Delegate|| + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -4638,15 +4453,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -4678,34 +4491,31 @@ Occurs when the left mouse button is released while the mouse pointer is over this element. - . - - This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. - - The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. - - Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Direct| -|Delegate|| - -- Override to implement class handling for this event in derived classes. - + . + + This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. + + The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. + + Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Direct| +|Delegate|| + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -4732,15 +4542,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -4772,31 +4580,28 @@ Occurs when the mouse pointer moves while over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -4823,15 +4628,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -4863,36 +4666,33 @@ Occurs when the right mouse button is pressed while the mouse pointer is over this element. - . - - This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. - - The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. This possibly includes class-handler generated events such as . - - Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . - - Right button mouse events frequently have native handling in application scenarios. For instance, a right mouse button down might display a context menu. See [ContextMenu Overview](/dotnet/framework/wpf/controls/contextmenu-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Direct| -|Delegate|| - -- Override to implement class handling for this event in derived classes. - + . + + This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. + + The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. This possibly includes class-handler generated events such as . + + Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . + + Right button mouse events frequently have native handling in application scenarios. For instance, a right mouse button down might display a context menu. See [ContextMenu Overview](/dotnet/framework/wpf/controls/contextmenu-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Direct| +|Delegate|| + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -4919,15 +4719,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -4959,34 +4757,31 @@ Occurs when the right mouse button is released while the mouse pointer is over this element. - . - - This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. - - The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. - - Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Direct| -|Delegate|| - -- Override to implement class handling for this event in derived classes. - + . + + This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. + + The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. + + Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Direct| +|Delegate|| + +- Override to implement class handling for this event in derived classes. + ]]> - Handling Events in 3-D Sample @@ -5013,15 +4808,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -5050,31 +4843,28 @@ Occurs when any mouse button is released over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - The event is often raised together with either or , which correspond to a release of one of the two standard mouse buttons. and are also routed events, but they are direct routed events, and the appropriate button-specific event is raised when the event reaches this element along the event route. See Remarks for or . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - - ]]> - - Handling Events in 3-D Sample + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + The event is often raised together with either or , which correspond to a release of one of the two standard mouse buttons. and are also routed events, but they are direct routed events, and the appropriate button-specific event is raised when the event reaches this element along the event route. See Remarks for or . + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + + ]]> + @@ -5101,15 +4891,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -5141,31 +4929,28 @@ Occurs when the user rotates the mouse wheel while the mouse pointer is over this element. - event from a focused or captured element, the mouse pointer might actually be over another element. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - - ]]> - - Handling Events in 3-D Sample + event from a focused or captured element, the mouse pointer might actually be over another element. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + + ]]> + @@ -5192,15 +4977,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -5235,13 +5018,11 @@ if the requested traversal was performed; otherwise, . - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + @@ -5275,13 +5056,11 @@ The event data to the access key event. The event data reports which key was invoked, and indicate whether the object that controls the sending of these events also sent this access key invocation to other elements. Provides class handling for when an access key that is meaningful for this element is invoked. - class, or elsewhere, which you can raise or attach handlers for. Instead, the event is originated via a dedicated manager class, , which post-processes all input to search for access keys that are applicable to the entire input model. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + class, or elsewhere, which you can raise or attach handlers for. Instead, the event is originated via a dedicated manager class, , which post-processes all input to search for access keys that are applicable to the entire input model. + ]]> @@ -5315,16 +5094,16 @@ Returns class-specific implementations for the Windows Presentation Foundation (WPF) infrastructure. The type-specific implementation. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> - The implementation of this method is typically to call the constructor of a specific implementation, and return it as the return value. - + The implementation of this method is typically to call the constructor of a specific implementation, and return it as the return value. + All derived classes should implement this method in order to provide their own specific implementations to the Windows Presentation Foundation (WPF) infrastructure. For details on implementing this pattern, see . @@ -5357,17 +5136,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -5401,17 +5178,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -5445,17 +5220,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -5489,17 +5262,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -5533,17 +5304,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -5583,15 +5352,13 @@ A that contains event data. This event data must contain the identifier for the event. Raises the routed event by using the event data provided. - property value changes. The implementation differs from some other Windows Presentation Foundation (WPF) On* implementations, which only provide a convenient way to add class handling for that event. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + property value changes. The implementation differs from some other Windows Presentation Foundation (WPF) On* implementations, which only provide a convenient way to add class handling for that event. + ]]> @@ -5629,17 +5396,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -5673,17 +5438,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -5717,17 +5480,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -5760,11 +5521,11 @@ A that contains the event data. Provides class handling for the routed event that occurs when a touch is captured to this element. - method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. - + method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. + ]]> @@ -5797,15 +5558,13 @@ The that contains the event data. Invoked when an unhandled event is raised on this element. Implement this method to add class handling for this event. - dependency property changes. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event. Therefore, you cannot mark it as handled in the class handler. - - This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + dependency property changes. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event. Therefore, you cannot mark it as handled in the class handler. + + This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. + ]]> @@ -5838,15 +5597,13 @@ A that contains the event data. Invoked just before the event is raised by this element. Implement this method to add class handling for this event. - dependency property changes its value. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event. Therefore, you cannot mark it as handled in the class handler. - - This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + dependency property changes its value. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event. Therefore, you cannot mark it as handled in the class handler. + + This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. + ]]> @@ -5879,15 +5636,13 @@ The that contains the event data. Invoked when an unhandled event is raised on this element. Implement this method to add class handling for this event. - dependency property changes its value. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event. Therefore, you cannot mark it as handled in the class handler. - - This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + dependency property changes its value. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event. Therefore, you cannot mark it as handled in the class handler. + + This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. + ]]> @@ -5920,16 +5675,16 @@ A that contains the event data. Invoked when an unhandled event is raised on this element. Implement this method to add class handling for this event. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> - This virtual method is called when the value of the dependency property changes its value. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event; Therefore, you cannot mark it as handled in the class handler. - + This virtual method is called when the value of the dependency property changes its value. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event; Therefore, you cannot mark it as handled in the class handler. + This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. @@ -5962,15 +5717,13 @@ The that contains the event data. Invoked when an unhandled event is raised on this element. Implement this method to add class handling for this event. - dependency property changes its value. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event. Therefore, you cannot mark it as handled in the class handler. - - This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + dependency property changes its value. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event. Therefore, you cannot mark it as handled in the class handler. + + This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. + ]]> @@ -6003,15 +5756,13 @@ A that contains the event data. Invoked when an unhandled event is raised on this element. Implement this method to add class handling for this event. - dependency property changes its value. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event. Therefore, you cannot mark it as handled in the class handler. - - This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + dependency property changes its value. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event. Therefore, you cannot mark it as handled in the class handler. + + This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. + ]]> @@ -6044,15 +5795,13 @@ The that contains the event data. Invoked when an unhandled event is raised on this element. Implement this method to add class handling for this event. - dependency property changes its value. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event. Therefore, you cannot mark it as handled in the class handler. - - This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + dependency property changes its value. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event. Therefore, you cannot mark it as handled in the class handler. + + This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. + ]]> @@ -6085,15 +5834,13 @@ The that contains the event data. Invoked when an unhandled event is raised on this element. Implement this method to add class handling for this event. - dependency property changes its value. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event. Therefore you cannot mark it as handled in the class handler. - - This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + dependency property changes its value. The virtual method is called first and can manipulate the event data as necessary. Then the event is raised with that same event data instance. Notice that the event is not a routed event. Therefore you cannot mark it as handled in the class handler. + + This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. You may call base either before or after your special handling, depending on your requirements. + ]]> @@ -6126,19 +5873,17 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - is not invoked. - - This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. - - The purpose of this method is similar to the common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. In this case the matching event is a routed event. The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Therefore, your implementation needs to examine the source properties of the event data. It should not try to reraise the event in most cases. - - Either by overriding this method or by registering class handlers with , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is not invoked. + + This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. + + The purpose of this method is similar to the common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. In this case the matching event is a routed event. The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Therefore, your implementation needs to examine the source properties of the event data. It should not try to reraise the event in most cases. + + Either by overriding this method or by registering class handlers with , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -6172,19 +5917,17 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - is not invoked. - - This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. - - The purpose of this method is similar to the common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. In this case the matching event is a routed event. The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Therefore, your implementation needs to examine the source properties of the event data. It should not try to reraise the event in most cases. - - Either by overriding this method or by registering class handlers with , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is not invoked. + + This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. + + The purpose of this method is similar to the common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. In this case the matching event is a routed event. The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Therefore, your implementation needs to examine the source properties of the event data. It should not try to reraise the event in most cases. + + Either by overriding this method or by registering class handlers with , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -6224,15 +5967,13 @@ A that contains event data. This event data must contain the identifier for the event. Raises the routed event by using the event data that is provided. - property value changes. This implementation differs from some other Windows Presentation Foundation (WPF) On* implementations, which only provide a convenient way to add class handling for that event. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + property value changes. This implementation differs from some other Windows Presentation Foundation (WPF) On* implementations, which only provide a convenient way to add class handling for that event. + ]]> @@ -6268,17 +6009,15 @@ The that contains event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -6312,17 +6051,15 @@ The that contains event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -6356,17 +6093,15 @@ The that contains event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -6399,11 +6134,11 @@ A that contains the event data. Provides class handling for the routed event that occurs when this element loses a touch capture. - method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. - + method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. + ]]> @@ -6436,25 +6171,23 @@ The that contains the event data. This event data reports details about the mouse button that was pressed and the handled state. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - event as handled, is not invoked. - - If you use this class handler to mark the event as handled, you potentially impact the following events: and . Either of these events may be raised on the receiving element when is received. - - If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. If the event is handled in class handling, instance handlers for the subevents are not invoked unless you explicitly use with `handledEventsToo` `true` in order to attach handlers. Class handlers also are not invoked unless those class handlers were registered with the signature with `handledEventsToo` `true`. By handling , you are implying that your class handling accounted for all possible mouse button down actions. This behavior might be unwanted. Therefore, use caution when you use this virtual method to mark events as handled. - - Each of the button-specific direct events also has a virtual On* method; consider whether overriding these button-specific class handlers might be more appropriate. - - This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. - - The purpose of this method is similar to the common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. In this case the matching event is a routed event. The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Therefore, your implementation needs to examine the source properties of the event data. It should not try to reraise the event in most cases. - - Either by overriding this method or by registering class handlers with , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + event as handled, is not invoked. + + If you use this class handler to mark the event as handled, you potentially impact the following events: and . Either of these events may be raised on the receiving element when is received. + + If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. If the event is handled in class handling, instance handlers for the subevents are not invoked unless you explicitly use with `handledEventsToo` `true` in order to attach handlers. Class handlers also are not invoked unless those class handlers were registered with the signature with `handledEventsToo` `true`. By handling , you are implying that your class handling accounted for all possible mouse button down actions. This behavior might be unwanted. Therefore, use caution when you use this virtual method to mark events as handled. + + Each of the button-specific direct events also has a virtual On* method; consider whether overriding these button-specific class handlers might be more appropriate. + + This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. + + The purpose of this method is similar to the common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. In this case the matching event is a routed event. The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Therefore, your implementation needs to examine the source properties of the event data. It should not try to reraise the event in most cases. + + Either by overriding this method or by registering class handlers with , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -6488,15 +6221,13 @@ The that contains the event data. Invoked when an unhandled attached event is raised on this element. Implement this method to add class handling for this event. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + @@ -6530,15 +6261,13 @@ The that contains the event data. Invoked when an unhandled attached event is raised on this element. Implement this method to add class handling for this event. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + @@ -6572,17 +6301,15 @@ The that contains the event data. The event data reports that the left mouse button was pressed. Invoked when an unhandled routed event is raised on this element. Implement this method to add class handling for this event. - event appears to travel a bubbling route but actually travels in an indirect way. is the underlying event that is bubble routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. - - The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . - - Alternatively, you can override this method in order to change event handling for a specific mouse state. Whether you choose to call the base implementation depends on your scenario. Failing to call base disables default input handling for that mouse event on ancestor classes that also expect to invoke . For example, you can derive from and override in your derived class without calling the base implementation; however, this override disables the event. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + event appears to travel a bubbling route but actually travels in an indirect way. is the underlying event that is bubble routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. + + The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . + + Alternatively, you can override this method in order to change event handling for a specific mouse state. Whether you choose to call the base implementation depends on your scenario. Failing to call base disables default input handling for that mouse event on ancestor classes that also expect to invoke . For example, you can derive from and override in your derived class without calling the base implementation; however, this override disables the event. + ]]> @@ -6615,15 +6342,13 @@ The that contains the event data. The event data reports that the left mouse button was released. Invoked when an unhandled routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - event appears to travel a bubbling route but actually travels in an indirect way. is the underlying event that is bubble routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. - - The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + event appears to travel a bubbling route but actually travels in an indirect way. is the underlying event that is bubble routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. + + The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . + ]]> @@ -6656,17 +6381,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -6700,17 +6423,15 @@ The that contains the event data. The event data reports that the right mouse button was pressed. Invoked when an unhandled routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - event appears to travel a bubbling route but actually travels in an indirect way. is the underlying event that is bubble routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. - - The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . - - Alternatively, you can override this method in order to change event handling for a specific mouse state. Whether you choose to call the base implementation depends on your scenario. Failing to call base disables default input handling for that mouse event on ancestor classes that also expect to invoke . For example, you can derive from and override in your derived class without calling base; however, this override disables the context menu services on your control, which are part of the default behavior. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + event appears to travel a bubbling route but actually travels in an indirect way. is the underlying event that is bubble routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. + + The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . + + Alternatively, you can override this method in order to change event handling for a specific mouse state. Whether you choose to call the base implementation depends on your scenario. Failing to call base disables default input handling for that mouse event on ancestor classes that also expect to invoke . For example, you can derive from and override in your derived class without calling base; however, this override disables the context menu services on your control, which are part of the default behavior. + ]]> @@ -6743,15 +6464,13 @@ The that contains the event data. The event data reports that the right mouse button was released. Invoked when an unhandled routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - event appears to travel a bubbling route but actually travels in an indirect way. is the underlying event that is bubble routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. - - The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + event appears to travel a bubbling route but actually travels in an indirect way. is the underlying event that is bubble routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. + + The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . + ]]> @@ -6784,25 +6503,23 @@ The that contains the event data. The event data reports that the mouse button was released. Invoked when an unhandled routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - event as handled, is not invoked. - - If you use this class handler to mark the event as handled, you potentially impact the following events: and . Either of these events might be raised on the receiving element when is received. - - If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. If the event is handled in class handling, instance handlers for the subevents are not invoked unless you explicitly use with `handledEventsToo` `true` in order to attach handlers. Class handlers also are not invoked unless those class handlers were registered with the signature with `handledEventsToo` `true`. By handling , you are implying that your class handling accounted for all possible mouse button up actions. This behavior might be unwanted. Therefore, use caution when you use this virtual method to mark events as handled. - - Each of the button-specific direct events also has a virtual On* method; consider whether overriding these button-specific class handlers might be more appropriate. - - This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. - - The purpose of this method is similar to the common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. In this case the matching event is a routed event. The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Therefore, your implementation needs to examine the source properties of the event data. It should not try to reraise the event in most cases. - - Either by overriding this method or by registering class handlers with , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + event as handled, is not invoked. + + If you use this class handler to mark the event as handled, you potentially impact the following events: and . Either of these events might be raised on the receiving element when is received. + + If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. If the event is handled in class handling, instance handlers for the subevents are not invoked unless you explicitly use with `handledEventsToo` `true` in order to attach handlers. Class handlers also are not invoked unless those class handlers were registered with the signature with `handledEventsToo` `true`. By handling , you are implying that your class handling accounted for all possible mouse button up actions. This behavior might be unwanted. Therefore, use caution when you use this virtual method to mark events as handled. + + Each of the button-specific direct events also has a virtual On* method; consider whether overriding these button-specific class handlers might be more appropriate. + + This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. + + The purpose of this method is similar to the common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. In this case the matching event is a routed event. The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Therefore, your implementation needs to examine the source properties of the event data. It should not try to reraise the event in most cases. + + Either by overriding this method or by registering class handlers with , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -6835,17 +6552,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -6879,17 +6594,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -6923,17 +6636,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -6967,17 +6678,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7011,17 +6720,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7055,17 +6762,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7099,17 +6804,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7143,17 +6846,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7187,17 +6888,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7231,17 +6930,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7275,25 +6972,23 @@ The that contains the event data. The event data reports that one or more mouse buttons were pressed. Invoked when an unhandled attached routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - event as handled, is not invoked. - - If you use this class handler to mark the event as handled, you potentially impact the following events: and . Either of these events may be raised on the receiving element when is received. - - If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. If the event is handled in class handling, instance handlers for the subevents are not invoked unless you explicitly use with `handledEventsToo` `true` in order to attach handlers. Class handlers also are not invoked unless those class handlers were registered with the signature with `handledEventsToo` `true`. By handling , you are implying that your class handling accounted for all possible mouse button down actions. This behavior might be unwanted. Therefore, use caution when you use this virtual method to mark events as handled. - - Each of the button-specific direct events also has a virtual On* method; consider whether overriding these button-specific class handlers might be more appropriate. - - This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. - - The purpose of this method is similar to the common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. In this case the matching event is a routed event. The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Therefore, your implementation needs to examine the source properties of the event data. It should not try to reraise the event in most cases. - - Either by overriding this method or by registering class handlers with , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + event as handled, is not invoked. + + If you use this class handler to mark the event as handled, you potentially impact the following events: and . Either of these events may be raised on the receiving element when is received. + + If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. If the event is handled in class handling, instance handlers for the subevents are not invoked unless you explicitly use with `handledEventsToo` `true` in order to attach handlers. Class handlers also are not invoked unless those class handlers were registered with the signature with `handledEventsToo` `true`. By handling , you are implying that your class handling accounted for all possible mouse button down actions. This behavior might be unwanted. Therefore, use caution when you use this virtual method to mark events as handled. + + Each of the button-specific direct events also has a virtual On* method; consider whether overriding these button-specific class handlers might be more appropriate. + + This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. + + The purpose of this method is similar to the common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. In this case the matching event is a routed event. The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Therefore, your implementation needs to examine the source properties of the event data. It should not try to reraise the event in most cases. + + Either by overriding this method or by registering class handlers with , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7327,17 +7022,15 @@ The that contains the event data. The event data reports that the left mouse button was pressed. Invoked when an unhandled routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - event appears to travel a tunneling route but actually travels in an indirect way. is the underlying event that is tunnel routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. - - The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . - - Alternatively, you can override this method in order to change event handling for a specific mouse state. Whether you choose to call the base implementation depends on your scenario. Failing to call base disables default input handling for that mouse event on ancestor classes that also expect to invoke . For example, you can derive from and override in your derived class without calling the base implementation; however, this override disables the event. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + event appears to travel a tunneling route but actually travels in an indirect way. is the underlying event that is tunnel routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. + + The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . + + Alternatively, you can override this method in order to change event handling for a specific mouse state. Whether you choose to call the base implementation depends on your scenario. Failing to call base disables default input handling for that mouse event on ancestor classes that also expect to invoke . For example, you can derive from and override in your derived class without calling the base implementation; however, this override disables the event. + ]]> @@ -7370,15 +7063,13 @@ The that contains the event data. The event data reports that the left mouse button was released. Invoked when an unhandled routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - event appears to travel a tunneling route but actually travels in an indirect way. is the underlying event that is tunnel routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. - - The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + event appears to travel a tunneling route but actually travels in an indirect way. is the underlying event that is tunnel routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. + + The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . + ]]> @@ -7411,17 +7102,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7455,17 +7144,15 @@ The that contains the event data. The event data reports that the right mouse button was pressed. Invoked when an unhandled routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - event appears to travel a tunneling route but actually travels in an indirect way. is the underlying event that is tunnel routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. - - The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . - - Alternatively, you can override this method in order to change event handling for a specific mouse state. Whether you choose to call the base implementation depends on your scenario. Failing to call base disables default input handling for that mouse event on ancestor classes that also expect to invoke . For example, you can derive from and override in your derived class without calling base; however, this override disables the context menu services on your control, which are part of the default behavior. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + event appears to travel a tunneling route but actually travels in an indirect way. is the underlying event that is tunnel routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. + + The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . + + Alternatively, you can override this method in order to change event handling for a specific mouse state. Whether you choose to call the base implementation depends on your scenario. Failing to call base disables default input handling for that mouse event on ancestor classes that also expect to invoke . For example, you can derive from and override in your derived class without calling base; however, this override disables the context menu services on your control, which are part of the default behavior. + ]]> @@ -7498,15 +7185,13 @@ The that contains the event data. The event data reports that the right mouse button was released. Invoked when an unhandled routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - event appears to travel a tunneling route but actually travels in an indirect way. is the underlying event that is tunnel routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. - - The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + event appears to travel a tunneling route but actually travels in an indirect way. is the underlying event that is tunnel routed, and each along the event route uses identical handling to raise the direct routed event . Although you can mark the event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify `handledEventsToo`) from being invoked. + + The default implementation for general mouse event handling in listens for and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for . You cannot change the mouse handling behavior of by overriding . + ]]> @@ -7539,25 +7224,23 @@ The that contains the event data. The event data reports that one or more mouse buttons were released. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - event as handled, is not invoked. - - If you use this class handler to mark the event as handled, you potentially impact the following events: and . Either of these events might be raised on the receiving element when is received. - - If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. If the event is handled in class handling, instance handlers for the subevents are not invoked unless you explicitly use with `handledEventsToo` `true` in order to attach handlers. Class handlers also are not invoked unless those class handlers were registered with the signature with `handledEventsToo` `true`. By handling , you are implying that your class handling accounted for all possible mouse button up actions. This behavior might be unwanted. Therefore, use caution when you use this virtual method to mark events as handled. - - Each of the button-specific direct events also has a virtual On* method; consider whether overriding these button-specific class handlers might be more appropriate. - - This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. - - The purpose of this method is similar to the common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. In this case the matching event is a routed event. The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Therefore, your implementation needs to examine the source properties of the event data. It should not try to reraise the event in most cases. - - Either by overriding this method or by registering class handlers with , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + event as handled, is not invoked. + + If you use this class handler to mark the event as handled, you potentially impact the following events: and . Either of these events might be raised on the receiving element when is received. + + If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. If the event is handled in class handling, instance handlers for the subevents are not invoked unless you explicitly use with `handledEventsToo` `true` in order to attach handlers. Class handlers also are not invoked unless those class handlers were registered with the signature with `handledEventsToo` `true`. By handling , you are implying that your class handling accounted for all possible mouse button up actions. This behavior might be unwanted. Therefore, use caution when you use this virtual method to mark events as handled. + + Each of the button-specific direct events also has a virtual On* method; consider whether overriding these button-specific class handlers might be more appropriate. + + This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation. + + The purpose of this method is similar to the common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. In this case the matching event is a routed event. The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Therefore, your implementation needs to examine the source properties of the event data. It should not try to reraise the event in most cases. + + Either by overriding this method or by registering class handlers with , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -7591,17 +7274,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7635,17 +7316,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7679,17 +7358,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7723,17 +7400,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7767,17 +7442,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7811,17 +7484,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7855,17 +7526,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7899,17 +7568,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7943,17 +7610,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -7987,17 +7652,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -8031,17 +7694,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -8075,17 +7736,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked. + ]]> @@ -8119,11 +7778,11 @@ A that contains the event data. Provides class handling for the routed event that occurs when a touch presses this element. - method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. - + method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. + ]]> @@ -8155,11 +7814,11 @@ A that contains the event data. Provides class handling for the routed event that occurs when a touch moves while inside this element. - method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. - + method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. + ]]> @@ -8191,11 +7850,11 @@ A that contains the event data. Provides class handling for the routed event that occurs when a touch is released inside this element. - method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. - + method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. + ]]> @@ -8228,17 +7887,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -8272,17 +7929,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -8316,17 +7971,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -8360,17 +8013,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -8404,17 +8055,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -8448,15 +8097,13 @@ The that contains the event data. Invoked when an unhandled attached event is raised by this element. Implement this method to add class handling for this event. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + @@ -8490,17 +8137,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -8534,17 +8179,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -8578,15 +8221,13 @@ The that contains the event data. Invoked when an unhandled attached event is raised by this element. Implement this method to add class handling for this event. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + @@ -8620,17 +8261,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -8664,17 +8303,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -8708,17 +8345,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -8752,17 +8387,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -8796,17 +8429,15 @@ The that contains the event data. Invoked when an unhandled attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. - , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + , derived classes of can call private class handler methods when the event is received along the event route. One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. + ]]> @@ -8839,11 +8470,11 @@ A that contains the event data. Provides class handling for the routed event that occurs when a touch presses inside this element. - method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. - + method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. + ]]> @@ -8875,11 +8506,11 @@ A that contains the event data. Provides class handling for the routed event that occurs when a touch moves from outside to inside the bounds of this element. - method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. - + method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. + ]]> @@ -8911,11 +8542,11 @@ A that contains the event data. Provides class handling for the routed event that occurs when a touch moves from inside to outside the bounds of this element. - method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. - + method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. + ]]> @@ -8947,11 +8578,11 @@ A that contains the event data. Provides class handling for the routed event that occurs when a touch moves while inside this element. - method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. - + method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. + ]]> @@ -8983,11 +8614,11 @@ A that contains the event data. Provides class handling for the routed event that occurs when a touch is released inside this element. - method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. - + method has no default implementation. Override in a derived class to handle the event. Be sure to call the base class' method so that base classes receive the event. + ]]> @@ -9017,27 +8648,21 @@ Participates in rendering operations when overridden in a derived class. - class, you can use this method together with the method to refresh the model of the element. - - You only need to call this method in advanced scenarios. One such advanced scenario is if the derived class has multiple properties that affect the appearance, and you want to update the underlying model only once. Within the method you could update the property of the class. - - This method has no default implementation in the class. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - - -## Examples - The following example shows how to derive from the class to create a `Sphere` class: - + class, you can use this method together with the method to refresh the model of the element. + + You only need to call this method in advanced scenarios. One such advanced scenario is if the derived class has multiple properties that affect the appearance, and you want to update the underlying model only once. Within the method you could update the property of the class. + + This method has no default implementation in the class. + +## Examples + The following example shows how to derive from the class to create a `Sphere` class: + :::code language="csharp" source="~/snippets/csharp/System.Windows/UIElement3D/Overview/Sphere.cs" id="Snippetsphere"::: - :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Shapes/visualbasic/sphere.vb" id="Snippetsphere"::: - - For the complete sample, see [UIElement3D Sphere Sample](https://go.microsoft.com/fwlink/?LinkID=160044). - + :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/Shapes/visualbasic/sphere.vb" id="Snippetsphere"::: + ]]> @@ -9069,17 +8694,10 @@ The previous parent. This may be provided as if the did not have a parent element previously. Invoked when the parent element of this reports a change to its underlying visual parent. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - ]]> - + To be added. - If you override this method, always call the base implementation. The default base implementation performs some internal maintenance of reverse-inherited property state. Failing to call the base implementation will invalidate this state. - + If you override this method, always call the base implementation. The default base implementation performs some internal maintenance of reverse-inherited property state. Failing to call the base implementation will invalidate this state. + This method overrides . and both also override the implementation of , and seals it. @@ -9113,13 +8731,11 @@ When overridden in a derived class, returns the element that would receive focus for a specified focus traversal direction, without actually moving focus to that element. The element that would have received focus if were actually invoked. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + @@ -9149,26 +8765,24 @@ Occurs when the input system reports an underlying drag event with this element as the drag target. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -9197,15 +8811,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -9234,26 +8846,23 @@ Occurs when the input system reports an underlying drag event with this element as the drag origin. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . +- Override to implement class handling for this event in derived classes. + ]]> @@ -9282,15 +8891,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -9319,26 +8926,23 @@ Occurs when the input system reports an underlying drag event with this element as the potential drop target. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . +- Override to implement class handling for this event in derived classes. + ]]> @@ -9367,15 +8971,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -9404,26 +9006,24 @@ Occurs when the input system reports an underlying drop event with this element as the drop target. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -9452,15 +9052,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -9489,28 +9087,26 @@ Occurs when a drag-and-drop operation is started. - event enables the source of a drag event to modify the appearance of the mouse pointer, in order to give the user visual feedback during a drag-and-drop operation. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + event enables the source of a drag event to modify the appearance of the mouse pointer, in order to give the user visual feedback during a drag-and-drop operation. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -9539,15 +9135,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -9579,28 +9173,26 @@ Occurs when the keyboard is focused on this element. - in the event data to determine the actual element that has focus. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + in the event data to determine the actual element that has focus. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -9630,15 +9222,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -9670,26 +9260,24 @@ Occurs when a key is pressed while the keyboard is focused on this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -9719,15 +9307,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -9759,28 +9345,26 @@ Occurs when a key is released while the keyboard is focused on this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -9809,15 +9393,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -9849,28 +9431,26 @@ Occurs when the keyboard is no longer focused on this element. - in the event data to determine the actual element that lost focus. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + in the event data to determine the actual element that lost focus. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -9900,15 +9480,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -9937,28 +9515,26 @@ Occurs when any mouse button is pressed while the pointer is over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - The event is often raised together with either or , which correspond to a press of one of the two standard mouse buttons. and are also routed events, but they are direct routed events, and the appropriate button-specific event is raised when the event reaches this element along the event route. See Remarks for or . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + The event is often raised together with either or , which correspond to a press of one of the two standard mouse buttons. and are also routed events, but they are direct routed events, and the appropriate button-specific event is raised when the event reaches this element along the event route. See Remarks for or . + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -9987,15 +9563,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -10027,30 +9601,28 @@ Occurs when the left mouse button is pressed while the mouse pointer is over this element. - . - - This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. - - The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. This possibly includes class-handler generated events such as . - - Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Direct| -|Delegate|| - -- Override to implement class handling for this event in derived classes. - + . + + This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. + + The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. This possibly includes class-handler generated events such as . + + Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Direct| +|Delegate|| + +- Override to implement class handling for this event in derived classes. + ]]> @@ -10080,15 +9652,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -10120,30 +9690,28 @@ Occurs when the left mouse button is released while the mouse pointer is over this element. - . - - This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. - - The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. - - Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Direct| -|Delegate|| - -- Override to implement class handling for this event in derived classes. - + . + + This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. + + The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. + + Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Direct| +|Delegate|| + +- Override to implement class handling for this event in derived classes. + ]]> @@ -10172,15 +9740,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -10212,28 +9778,26 @@ Occurs when the mouse pointer moves while the mouse pointer is over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -10262,15 +9826,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -10302,30 +9864,28 @@ Occurs when the right mouse button is pressed while the mouse pointer is over this element. - . - - This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. - - The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. This possibly includes class-handler generated events such as . - - Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Direct| -|Delegate|| - -- Override to implement class handling for this event in derived classes. - + . + + This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. + + The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. This possibly includes class-handler generated events such as . + + Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Direct| +|Delegate|| + +- Override to implement class handling for this event in derived classes. + ]]> @@ -10355,15 +9915,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -10395,30 +9953,28 @@ Occurs when the right mouse button is released while the mouse pointer is over this element. - . - - This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. - - The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. - - Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Direct| -|Delegate|| - -- Override to implement class handling for this event in derived classes. - + . + + This event is one of several related events that report the mouse-button specifics of an underlying event, which is an attached event that is processed by each element along an event route. + + The event data of this event exposes the event data of the underlying event. If that event is marked as handled along the event route, the mouse-button specific events are still raised; however, handlers of the mouse-button specific events must be added by explicitly calling , with the option to handle events that are already marked as handled, in order to be listeners to the event. If you mark handled, you are essentially marking handled for all further listeners along the route, and on all related events. + + Conceptually, think of this event (and other mouse-button events on ) to be a mouse "service" (with the service definition provided by the class). The event adds the convenience of not needing to check the mouse button states (left-right, up-down) of the original mouse events in the event data. For more advanced scenarios, such as checking for states of non-standard buttons, you might need to use the APIs on the class rather than those on . + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Direct| +|Delegate|| + +- Override to implement class handling for this event in derived classes. + ]]> @@ -10448,15 +10004,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -10485,28 +10039,26 @@ Occurs when any mouse button is released while the mouse pointer is over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - The event is often raised together with either or , which correspond to a press of one of the two standard mouse buttons. and are also routed events, but they are direct routed events, and the appropriate button-specific event is raised when the event reaches this element along the event route. See Remarks for or . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + The event is often raised together with either or , which correspond to a press of one of the two standard mouse buttons. and are also routed events, but they are direct routed events, and the appropriate button-specific event is raised when the event reaches this element along the event route. See Remarks for or . + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -10535,15 +10087,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -10575,28 +10125,26 @@ Occurs when the user rotates the mouse wheel while the mouse pointer is over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -10625,15 +10173,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -10662,28 +10208,26 @@ Occurs when there is a change in the keyboard or mouse button state during a drag-and-drop operation. - event enables the drag source to declare whether the drag-and-drop operation should be canceled. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + event enables the drag source to declare whether the drag-and-drop operation should be canceled. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -10712,15 +10256,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -10752,28 +10294,26 @@ Occurs when the stylus button is pressed while the pointer is over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -10803,15 +10343,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -10843,28 +10381,26 @@ Occurs when the stylus button is released while the pointer is over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -10893,15 +10429,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -10933,28 +10467,26 @@ Occurs when the stylus touches the digitizer while it is over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -10983,15 +10515,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -11023,28 +10553,26 @@ Occurs when the stylus moves over an element without actually touching the digitizer. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -11073,15 +10601,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -11113,28 +10639,26 @@ Occurs when the stylus is close enough to the digitizer to be detected, while over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -11163,15 +10687,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -11203,28 +10725,26 @@ Occurs when the stylus moves while over the element. The stylus must move while being detected by the digitizer to raise this event, otherwise, is raised instead. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -11253,15 +10773,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -11293,28 +10811,26 @@ Occurs when the stylus is too far from the digitizer to be detected. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -11343,15 +10859,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -11383,30 +10897,28 @@ Occurs when a user performs one of several stylus gestures. - . - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + . + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -11435,15 +10947,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -11475,28 +10985,26 @@ Occurs when the user raises the stylus off the digitizer while the stylus is over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -11525,15 +11033,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -11565,30 +11071,28 @@ Occurs when this element gets text in a device-independent manner. - event allows a component or application to listen for text input in a device-independent manner. The keyboard is the primary means of ; but speech, handwriting, and other input devices can also generate . - - Because of key combinations - either in default keyboards or through input method editors - multiple key events may raise just one text input event. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate|| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + event allows a component or application to listen for text input in a device-independent manner. The keyboard is the primary means of ; but speech, handwriting, and other input devices can also generate . + + Because of key combinations - either in default keyboards or through input method editors - multiple key events may raise just one text input event. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate|| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -11618,15 +11122,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -11654,26 +11156,26 @@ Occurs when a finger touches the screen while the finger is over this element. - and events do not occur until a finger touches the screen and moves. Pressing a finger on the screen and holding it without moving it causes the press and hold behavior of a . The press and hold behavior is equivalent to a mouse right-click. - - To cause the and events to occur as soon as a finger touches the screen, set the attached property to `false` for this element. - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate| of type .| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + and events do not occur until a finger touches the screen and moves. Pressing a finger on the screen and holding it without moving it causes the press and hold behavior of a . The press and hold behavior is equivalent to a mouse right-click. + + To cause the and events to occur as soon as a finger touches the screen, set the attached property to `false` for this element. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate| of type .| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -11729,23 +11231,23 @@ Occurs when a finger moves on the screen while the finger is over this element. - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate| of type .| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate| of type .| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -11798,23 +11300,23 @@ Occurs when a finger is raised off of the screen while the finger is over this element. - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Tunneling| -|Delegate| of type .| - -- The corresponding bubbling event is . - -- Override to implement class handling for this event in derived classes. - + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Tunneling| +|Delegate| of type .| + +- The corresponding bubbling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -11868,28 +11370,26 @@ Occurs when there is a change in the keyboard or mouse button state during a drag-and-drop operation. - event enables the drag source to determine whether the drag-and-drop operation should be canceled. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + event enables the drag source to determine whether the drag-and-drop operation should be canceled. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -11918,15 +11418,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -11955,30 +11453,28 @@ Occurs when the cursor is requested to display. This event is raised on an element each time that the mouse pointer moves to a new location, which means the cursor object might need to be changed based on its new position. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - The cursor being referred to by this event name is not necessarily the text cursor (sometimes known as the insertion point). Instead, the cursor in this context is the object that declares the onscreen graphical display related to several possible input-related devices or concepts in Windows programming. That object is represented by the class in WPF. The WPF input system enables you to change this cursor when it represents the onscreen position of the mouse pointer. You can use predefined values from the enumeration, or you can declare a custom cursor as an image file. - - Listening for the event is not an efficient technique for cursor management. Instead, each element should define its own cursor behavior with and . You should only rely on if you are not using the WPF framework-level base elements, or in extraordinary circumstances where defining cursor behavior on a per-element basis does not meet your needs. For more information on implementing cursor behavior in response to , see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- There is no defined corresponding tunneling event. - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + The cursor being referred to by this event name is not necessarily the text cursor (sometimes known as the insertion point). Instead, the cursor in this context is the object that declares the onscreen graphical display related to several possible input-related devices or concepts in Windows programming. That object is represented by the class in WPF. The WPF input system enables you to change this cursor when it represents the onscreen position of the mouse pointer. You can use predefined values from the enumeration, or you can declare a custom cursor as an image file. + + Listening for the event is not an efficient technique for cursor management. Instead, each element should define its own cursor behavior with and . You should only rely on if you are not using the WPF framework-level base elements, or in extraordinary circumstances where defining cursor behavior on a per-element basis does not meet your needs. For more information on implementing cursor behavior in response to , see . + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- There is no defined corresponding tunneling event. + +- Override to implement class handling for this event in derived classes. + ]]> @@ -12008,15 +11504,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -12052,15 +11546,13 @@ A that contains the event data and also identifies the event to raise. Raises a specific routed event. The to be raised is identified within the instance that is provided (as the property of that event data). - derived classes contain the actual specific data properties that are intended for the specific event when it is raised. - - is not just the state properties for the event; it also identifies which routed event to raise. This event-raising pattern and the routed event data both differ from common language runtime (CLR) events and data classes, which typically just contain properties that are related to the event. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + derived classes contain the actual specific data properties that are intended for the specific event when it is raised. + + is not just the state properties for the event; it also identifies which routed event to raise. This event-raising pattern and the routed event data both differ from common language runtime (CLR) events and data classes, which typically just contain properties that are related to the event. + ]]> @@ -12119,13 +11611,11 @@ Releases the mouse capture, if this element held the capture. - before you call this method. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + before you call this method. + ]]> @@ -12159,13 +11649,11 @@ Releases the stylus device capture, if this element held the capture. - before you call this method. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + before you call this method. + ]]> @@ -12236,21 +11724,19 @@ The specific handler implementation to remove from the event handler collection on this element. Removes the specified routed event handler from this element. - signature that enables handling of already-handled events. Either type of handler is removed. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + signature that enables handling of already-handled events. Either type of handler is removed. + ]]> @@ -12289,17 +11775,15 @@ if the property value should be serialized; otherwise, . - is locally set. - - This `ShouldSerialize` method is provided because the property does not have a simple default value. This method indicates whether the property has changed from its default value. You typically invoke this method if you are either developing a designer or developing your own control incorporating a . - - For more information, see [Defining Default Values with the ShouldSerialize and Reset Methods](/dotnet/framework/winforms/controls/defining-default-values-with-the-shouldserialize-and-reset-methods). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is locally set. + + This `ShouldSerialize` method is provided because the property does not have a simple default value. This method indicates whether the property has changed from its default value. You typically invoke this method if you are either developing a designer or developing your own control incorporating a . + + For more information, see [Defining Default Values with the ShouldSerialize and Reset Methods](/dotnet/framework/winforms/controls/defining-default-values-with-the-shouldserialize-and-reset-methods). + ]]> @@ -12337,17 +11821,15 @@ if the property value should be serialized; otherwise, . - is locally set. - - This `ShouldSerialize` method is provided because the property does not have a simple default value. This method indicates whether the property has changed from its default value. You typically invoke this method if you are either developing a designer or developing your own control incorporating a . - - For more information, see [Defining Default Values with the ShouldSerialize and Reset Methods](/dotnet/framework/winforms/controls/defining-default-values-with-the-shouldserialize-and-reset-methods). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is locally set. + + This `ShouldSerialize` method is provided because the property does not have a simple default value. This method indicates whether the property has changed from its default value. You typically invoke this method if you are either developing a designer or developing your own control incorporating a . + + For more information, see [Defining Default Values with the ShouldSerialize and Reset Methods](/dotnet/framework/winforms/controls/defining-default-values-with-the-shouldserialize-and-reset-methods). + ]]> @@ -12379,28 +11861,26 @@ Occurs when the stylus button is pressed while the pointer is over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -12430,15 +11910,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -12470,28 +11948,26 @@ Occurs when the stylus button is released while the pointer is over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -12521,15 +11997,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -12561,28 +12035,26 @@ Occurs when the stylus touches the digitizer while the stylus is over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -12611,15 +12083,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -12651,30 +12121,28 @@ Occurs when the stylus enters the bounds of this element. - is a [Routed Events Overview](/dotnet/framework/wpf/advanced/routed-events-overview) that uses the direct event handling routing strategy. Direct routed events are not raised along a route; instead, they are handled in the same element where they are raised. However, they do enable other aspects of routed event behavior, such as event triggers in styles. - - Although tracks when the stylus enters the bounds of an element, this event more literally reports that the property value has changed from `false` to `true` on this element. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Direct| -|Delegate|| - -- Override to implement class handling for this event in derived classes. - + is a [Routed Events Overview](/dotnet/framework/wpf/advanced/routed-events-overview) that uses the direct event handling routing strategy. Direct routed events are not raised along a route; instead, they are handled in the same element where they are raised. However, they do enable other aspects of routed event behavior, such as event triggers in styles. + + Although tracks when the stylus enters the bounds of an element, this event more literally reports that the property value has changed from `false` to `true` on this element. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Direct| +|Delegate|| + +- Override to implement class handling for this event in derived classes. + ]]> @@ -12703,15 +12171,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -12743,28 +12209,26 @@ Occurs when the stylus moves over an element without actually touching the digitizer. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -12793,15 +12257,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -12833,28 +12295,26 @@ Occurs when the stylus is close enough to the digitizer to be detected, while over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -12883,15 +12343,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -12923,30 +12381,28 @@ Occurs when the stylus leaves the bounds of the element. - is a [Routed Events Overview](/dotnet/framework/wpf/advanced/routed-events-overview) that uses the direct event handling routing strategy. Direct routed events are not raised along a route; instead, they are handled in the same element where they are raised. However, they do enable other aspects of routed event behavior, such as event triggers in styles. - - Although tracks when the stylus leaves the bounds of an element, this event more literally reports that the property value has changed from `true` to `false` on this element. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Direct| -|Delegate|| - -- Override to implement class handling for this event in derived classes. - + is a [Routed Events Overview](/dotnet/framework/wpf/advanced/routed-events-overview) that uses the direct event handling routing strategy. Direct routed events are not raised along a route; instead, they are handled in the same element where they are raised. However, they do enable other aspects of routed event behavior, such as event triggers in styles. + + Although tracks when the stylus leaves the bounds of an element, this event more literally reports that the property value has changed from `true` to `false` on this element. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Direct| +|Delegate|| + +- Override to implement class handling for this event in derived classes. + ]]> @@ -12975,15 +12431,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -13015,28 +12469,26 @@ Occurs when the stylus moves over this element. The stylus must move while on the digitizer to raise this event. Otherwise, is raised instead. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -13065,15 +12517,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -13105,28 +12555,26 @@ Occurs when the stylus is too far from the digitizer to be detected, while over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -13155,15 +12603,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -13195,30 +12641,28 @@ Occurs when a user performs one of several stylus gestures. - . - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + . + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -13247,15 +12691,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -13287,28 +12729,26 @@ Occurs when the user raises the stylus off the digitizer while it is over this element. - attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + Touch, mouse, and stylus input exist in a particular relationship. For more information, see [Touch Input Support in Windows Vista](https://go.microsoft.com/fwlink/?LinkId=160818) and [Input Overview](/dotnet/framework/wpf/advanced/input-overview). + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -13337,15 +12777,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -13377,30 +12815,28 @@ Occurs when this element gets text in a device-independent manner. - event allows a component or application to listen for text input in a device-independent manner. The keyboard is the primary means of , but speech, handwriting, and other input devices can also raise . - - Because of key combinations - either in default keyboards or through input method editors - multiple key events might raise just one text input event. - - This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate|| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + event allows a component or application to listen for text input in a device-independent manner. The keyboard is the primary means of , but speech, handwriting, and other input devices can also raise . + + Because of key combinations - either in default keyboards or through input method editors - multiple key events might raise just one text input event. + + This event creates an alias for the attached event for this class, so that is part of the class members list when is inherited as a base element. Event handlers that are attached to the event are attached to the underlying attached event and receive the same event data instance. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate|| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -13429,15 +12865,13 @@ Identifies the routed event. - . For more information about using routed event identifiers to add class handlers, see . - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + . For more information about using routed event identifiers to add class handlers, see . + ]]> @@ -13465,26 +12899,26 @@ Occurs when a finger touches the screen while the finger is over this element. - and events do not occur until a finger touches the screen and moves. Pressing a finger on the screen and holding it without moving it causes the press and hold behavior of a . The press and hold behavior is equivalent to a mouse right-click. - - To cause the and events to occur as soon as a finger touches the screen, set the attached property to `false` for this element. - - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate| of type .| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + and events do not occur until a finger touches the screen and moves. Pressing a finger on the screen and holding it without moving it causes the press and hold behavior of a . The press and hold behavior is equivalent to a mouse right-click. + + To cause the and events to occur as soon as a finger touches the screen, set the attached property to `false` for this element. + + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate| of type .| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -13540,22 +12974,22 @@ Occurs when a touch moves from outside to inside the bounds of this element. - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Direct| -|Delegate| of type .| - -- Override to implement class handling for this event in derived classes. - + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Direct| +|Delegate| of type .| + +- Override to implement class handling for this event in derived classes. + ]]> @@ -13712,21 +13146,21 @@ Occurs when a touch moves from inside to outside the bounds of this element. - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Direct| -|Delegate| of type .| - -- Override to implement class handling for this event in derived classes. - + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Direct| +|Delegate| of type .| + +- Override to implement class handling for this event in derived classes. + ]]> @@ -13779,23 +13213,23 @@ Occurs when a finger moves on the screen while the finger is over this element. - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate| of type .| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate| of type .| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -13848,23 +13282,23 @@ Occurs when a finger is raised off of the screen while the finger is over this element. - -## Routed Event Information - -||| -|-|-| -|Identifier field|| -|Routing strategy|Bubbling| -|Delegate| of type .| - -- The corresponding tunneling event is . - -- Override to implement class handling for this event in derived classes. - + +## Routed Event Information + +||| +|-|-| +|Identifier field|| +|Routing strategy|Bubbling| +|Delegate| of type .| + +- The corresponding tunneling event is . + +- Override to implement class handling for this event in derived classes. + ]]> @@ -13929,23 +13363,21 @@ Gets or sets the user interface (UI) visibility of this element. A value of the enumeration. The default value is . - , which in turn may raise the event. However, has other factors that influence it, for instance the visibility settings of parents that contain it. - - Elements where is not do not participate in input events (or commands) and are not reported in hit testing. - - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - - -## Dependency Property Information - -||| -|-|-| -|Identifier field|| -|Metadata properties set to `true`|None| - + , which in turn may raise the event. However, has other factors that influence it, for instance the visibility settings of parents that contain it. + + Elements where is not do not participate in input events (or commands) and are not reported in hit testing. + + +## Dependency Property Information + +||| +|-|-| +|Identifier field|| +|Metadata properties set to `true`|None| + ]]> @@ -13976,11 +13408,11 @@ Identifies the dependency property. - is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). - + is introduced in the .NET Framework version 3.5. For more information, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). + ]]> From 205addcec9026a2332a237a8e6da1f2bd105871e Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Thu, 2 May 2024 14:52:56 -0700 Subject: [PATCH 2/2] add closing tag --- xml/System.Windows/EventTrigger.xml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/xml/System.Windows/EventTrigger.xml b/xml/System.Windows/EventTrigger.xml index d1439a9befb..711624d233b 100644 --- a/xml/System.Windows/EventTrigger.xml +++ b/xml/System.Windows/EventTrigger.xml @@ -43,8 +43,6 @@ Adding a child to an object implicitly adds it to the for the object. - - ## Examples This example shows how to use event triggers in a style to animate the and events of a . In this example, the has the set to . Therefore, there is no need to qualify the `MouseEnter` and `MouseLeave` event names with the class name. @@ -53,6 +51,7 @@ ]]> + @@ -289,8 +288,6 @@ When using data binding, if you are using the event, you must set the value of your object to true for the event to be raised. - - ## Examples This example shows how to use event triggers in a style to animate the and events of a . In this example, the has the set to . Therefore, there is no need to qualify the `MouseEnter` and `MouseLeave` event names with the class name.