diff --git a/dotnet-desktop-guide/framework/wpf/advanced/attached-events-overview.md b/dotnet-desktop-guide/framework/wpf/advanced/attached-events-overview.md index cc6ee2d..e28a4f2 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/attached-events-overview.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/attached-events-overview.md @@ -20,7 +20,7 @@ Extensible Application Markup Language (XAML) defines a language component and t ## Prerequisites - This topic assumes that you have read [Routed Events Overview](routed-events-overview.md) and [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml). + This topic assumes that you have read [Routed Events Overview](routed-events-overview.md) and [XAML in WPF](xaml-in-wpf.md). ## Attached Event Syntax diff --git a/dotnet-desktop-guide/framework/wpf/advanced/attached-properties-overview.md b/dotnet-desktop-guide/framework/wpf/advanced/attached-properties-overview.md index c47d122..60455f6 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/attached-properties-overview.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/attached-properties-overview.md @@ -32,7 +32,7 @@ The following is an example of how you can set that owns and registers the attached property, rather than referring to any instance specified by name. -Also, because an attached property in XAML is an attribute that you set in markup, only the set operation has any relevance. You cannot directly get a property in XAML, although there are some indirect mechanisms for comparing values, such as triggers in styles (for details, see [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview)). +Also, because an attached property in XAML is an attribute that you set in markup, only the set operation has any relevance. You cannot directly get a property in XAML, although there are some indirect mechanisms for comparing values, such as triggers in styles (for details, see [Styling and Templating](../controls/styles-templates-overview.md)). ### Attached Property Implementation in WPF @@ -142,5 +142,5 @@ WPF defines several .NET attributes that are intended to provide information abo - - [Dependency Properties Overview](dependency-properties-overview.md) - [Custom Dependency Properties](custom-dependency-properties.md) -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [XAML in WPF](xaml-in-wpf.md) - [Register an Attached Property](how-to-register-an-attached-property.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/base-elements-overview.md b/dotnet-desktop-guide/framework/wpf/advanced/base-elements-overview.md index aa94ec5..607d808 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/base-elements-overview.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/base-elements-overview.md @@ -42,7 +42,7 @@ A high percentage of classes in [!INCLUDE[TLA#tla_winclient](../../../includes/t - Support for styling and storyboards. For more information, see and [Storyboards Overview](../graphics-multimedia/storyboards-overview.md). -- Support for data binding. For more information, see [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). +- Support for data binding. For more information, see [Data Binding Overview](../data/data-binding-overview.md). - Support for dynamic resource references. For more information, see [XAML Resources](/dotnet/desktop-wpf/fundamentals/xaml-resources-define). @@ -62,7 +62,7 @@ A high percentage of classes in [!INCLUDE[TLA#tla_winclient](../../../includes/t - Support for styling and storyboards. For more information, see and [Animation Overview](../graphics-multimedia/animation-overview.md). -- Support for data binding. For more information, see [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). +- Support for data binding. For more information, see [Data Binding Overview](../data/data-binding-overview.md). - Support for dynamic resource references. For more information, see [XAML Resources](/dotnet/desktop-wpf/fundamentals/xaml-resources-define). diff --git a/dotnet-desktop-guide/framework/wpf/advanced/base-elements.md b/dotnet-desktop-guide/framework/wpf/advanced/base-elements.md index 438aef7..2b07bfe 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/base-elements.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/base-elements.md @@ -33,5 +33,5 @@ Four key classes--, property. See also [PropertyPath XAML Syntax](propertypath-xaml-syntax.md).| ## Unqualified {Binding} - The `{Binding}` usage shown in "Binding Expression Usage" creates a object with default values, which includes an initial of `null`. This is still useful in many scenarios, because the created might be relying on key data binding properties such as and being set in the run-time data context. For more information on the concept of data context, see [Data Binding](/dotnet/desktop-wpf/data/data-binding-overview). + The `{Binding}` usage shown in "Binding Expression Usage" creates a object with default values, which includes an initial of `null`. This is still useful in many scenarios, because the created might be relying on key data binding properties such as and being set in the run-time data context. For more information on the concept of data context, see [Data Binding](../data/data-binding-overview.md). ## Implicit Path The `Binding` markup extension uses as a conceptual "default property", where `Path=` does not need to appear in the expression. If you specify a `Binding` expression with an implicit path, the implicit path must appear first in the expression, prior to any other `bindProp`=`value` pairs where the property is specified by name. For example: `{Binding PathString}`, where `PathString` is a string that is evaluated to be the value of in the created by the markup extension usage. You can append an implicit path with other named properties after the comma separator, for example, `{Binding LastName, Mode=TwoWay}`. @@ -58,7 +58,7 @@ Defers a property value to be a data-bound value, creating an intermediate expre - : can be set as a `bindProp`=`value` string in the expression, but this is dependent on the type of the parameter being passed. If passing a reference type for the value, this usage requires an object reference such as a nested [StaticResource Markup Extension](staticresource-markup-extension.md). -- : mutually exclusive versus and ; each of these binding properties represents a particular binding methodology. See [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). +- : mutually exclusive versus and ; each of these binding properties represents a particular binding methodology. See [Data Binding Overview](../data/data-binding-overview.md). - : can be set as a `bindProp`=`value` string in the expression, but this is dependent on the type of the value being passed. If passing a reference type, requires an object reference such as a nested [StaticResource Markup Extension](staticresource-markup-extension.md). @@ -74,9 +74,9 @@ Defers a property value to be a data-bound value, creating an intermediate expre - : a string that describes a path into a data object or a general object model. The format provides several different conventions for traversing an object model that cannot be adequately described in this topic. See [PropertyPath XAML Syntax](propertypath-xaml-syntax.md). -- : mutually exclusive versus with and ; each of these binding properties represents a particular binding methodology. See [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). Requires a nested [RelativeSource MarkupExtension](relativesource-markupextension.md) usage to specify the value. +- : mutually exclusive versus with and ; each of these binding properties represents a particular binding methodology. See [Data Binding Overview](../data/data-binding-overview.md). Requires a nested [RelativeSource MarkupExtension](relativesource-markupextension.md) usage to specify the value. -- : mutually exclusive versus and ; each of these binding properties represents a particular binding methodology. See [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). Requires a nested extension usage, typically a [StaticResource Markup Extension](staticresource-markup-extension.md) that refers to an object data source from a keyed resource dictionary. +- : mutually exclusive versus and ; each of these binding properties represents a particular binding methodology. See [Data Binding Overview](../data/data-binding-overview.md). Requires a nested extension usage, typically a [StaticResource Markup Extension](staticresource-markup-extension.md) that refers to an object data source from a keyed resource dictionary. - : a string that describes a string format convention for the bound data. This is a relatively advanced binding concept; see reference page for . @@ -103,7 +103,7 @@ Defers a property value to be a data-bound value, creating an intermediate expre > [!IMPORTANT] > In terms of dependency property precedence, a `Binding` expression is equivalent to a locally set value. If you set a local value for a property that previously had a `Binding` expression, the `Binding` is completely removed. For details, see [Dependency Property Value Precedence](dependency-property-value-precedence.md). - Describing data binding at a basic level is not covered in this topic. See [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). + Describing data binding at a basic level is not covered in this topic. See [Data Binding Overview](../data/data-binding-overview.md). > [!NOTE] > and do not support a [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] extension syntax. You would instead use property elements. See reference topics for and . @@ -119,6 +119,6 @@ Defers a property value to be a data-bound value, creating an intermediate expre ## See also - -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [Data Binding Overview](../data/data-binding-overview.md) +- [XAML in WPF](xaml-in-wpf.md) - [Markup Extensions and WPF XAML](markup-extensions-and-wpf-xaml.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/code-behind-and-xaml-in-wpf.md b/dotnet-desktop-guide/framework/wpf/advanced/code-behind-and-xaml-in-wpf.md index 89d3a94..afd0c73 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/code-behind-and-xaml-in-wpf.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/code-behind-and-xaml-in-wpf.md @@ -23,11 +23,11 @@ ms.assetid: 9df6d3c9-aed3-471c-af36-6859b19d999f ## Prerequisites - This topic assumes that you have read the [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) and have some basic knowledge of the CLR and object-oriented programming. + This topic assumes that you have read the [XAML in WPF](xaml-in-wpf.md) and have some basic knowledge of the CLR and object-oriented programming. ## Code-Behind and the XAML Language - The XAML language includes language-level features that make it possible to associate code files with markup files, from the markup file side. Specifically, the XAML language defines the language features [x:Class Directive](/dotnet/desktop-wpf/xaml-services/xclass-directive), [x:Subclass Directive](/dotnet/desktop-wpf/xaml-services/xsubclass-directive), and [x:ClassModifier Directive](/dotnet/desktop-wpf/xaml-services/xclassmodifier-directive). Exactly how the code should be produced, and how to integrate markup and code, is not part of what the XAML language specifies. It is left up to frameworks such as WPF to determine how to integrate the code, how to use XAML in the application and programming models, and the build actions or other support that all this requires. + The XAML language includes language-level features that make it possible to associate code files with markup files, from the markup file side. Specifically, the XAML language defines the language features [x:Class Directive](/dotnet/desktop/xaml-services/xclass-directive), [x:Subclass Directive](/dotnet/desktop/xaml-services/xsubclass-directive), and [x:ClassModifier Directive](/dotnet/desktop/xaml-services/xclassmodifier-directive). Exactly how the code should be produced, and how to integrate markup and code, is not part of what the XAML language specifies. It is left up to frameworks such as WPF to determine how to integrate the code, how to use XAML in the application and programming models, and the build actions or other support that all this requires. ## Code-behind, Event Handler, and Partial Class Requirements in WPF @@ -44,17 +44,17 @@ ms.assetid: 9df6d3c9-aed3-471c-af36-6859b19d999f ## x:Code - [x:Code](/dotnet/desktop-wpf/xaml-services/xcode-intrinsic-xaml-type) is a directive element defined in [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)]. An `x:Code` directive element can contain inline programming code. The code that is defined inline can interact with the [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] on the same page. The following example illustrates inline C# code. Notice that the code is inside the `x:Code` element and that the code must be surrounded by `` to escape the contents for XML, so that a [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] processor (interpreting either the [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] schema or the [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] schema) will not try to interpret the contents literally as XML. + [x:Code](/dotnet/desktop/xaml-services/xcode-intrinsic-xaml-type) is a directive element defined in [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)]. An `x:Code` directive element can contain inline programming code. The code that is defined inline can interact with the [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] on the same page. The following example illustrates inline C# code. Notice that the code is inside the `x:Code` element and that the code must be surrounded by `` to escape the contents for XML, so that a [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] processor (interpreting either the [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] schema or the [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] schema) will not try to interpret the contents literally as XML. [!code-xaml[XAMLOvwSupport#ButtonWithInlineCode](~/samples/snippets/csharp/VS_Snippets_Wpf/XAMLOvwSupport/CSharp/page4.xaml#buttonwithinlinecode)] ## Inline Code Limitations - You should consider avoiding or limiting the use of inline code. In terms of architecture and coding philosophy, maintaining a separation between markup and code-behind keeps the designer and developer roles much more distinct. On a more technical level, the code that you write for inline code can be awkward to write, because you are always writing into the [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] generated partial class, and can only use the default XML namespace mappings. Because you cannot add `using` statements, you must fully qualify many of the API calls that you make. The default [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] mappings include most but not all CLR namespaces that are present in the [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] assemblies; you will have to fully qualify calls to types and members contained within the other CLR namespaces. You also cannot define anything beyond the partial class in the inline code, and all user code entities you reference must exist as a member or variable within the generated partial class. Other language specific programming features, such as macros or `#ifdef` against global variables or build variables, are also not available. For more information, see [x:Code Intrinsic XAML Type](/dotnet/desktop-wpf/xaml-services/xcode-intrinsic-xaml-type). + You should consider avoiding or limiting the use of inline code. In terms of architecture and coding philosophy, maintaining a separation between markup and code-behind keeps the designer and developer roles much more distinct. On a more technical level, the code that you write for inline code can be awkward to write, because you are always writing into the [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] generated partial class, and can only use the default XML namespace mappings. Because you cannot add `using` statements, you must fully qualify many of the API calls that you make. The default [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] mappings include most but not all CLR namespaces that are present in the [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] assemblies; you will have to fully qualify calls to types and members contained within the other CLR namespaces. You also cannot define anything beyond the partial class in the inline code, and all user code entities you reference must exist as a member or variable within the generated partial class. Other language specific programming features, such as macros or `#ifdef` against global variables or build variables, are also not available. For more information, see [x:Code Intrinsic XAML Type](/dotnet/desktop/xaml-services/xcode-intrinsic-xaml-type). ## See also -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) -- [x:Code Intrinsic XAML Type](/dotnet/desktop-wpf/xaml-services/xcode-intrinsic-xaml-type) +- [XAML in WPF](xaml-in-wpf.md) +- [x:Code Intrinsic XAML Type](/dotnet/desktop/xaml-services/xcode-intrinsic-xaml-type) - [Building a WPF Application](../app-development/building-a-wpf-application-wpf.md) - [XAML Syntax In Detail](xaml-syntax-in-detail.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/collection-type-dependency-properties.md b/dotnet-desktop-guide/framework/wpf/advanced/collection-type-dependency-properties.md index 8829e5b..0f46971 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/collection-type-dependency-properties.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/collection-type-dependency-properties.md @@ -55,7 +55,7 @@ This topic provides guidance and suggested patterns for how to implement a depen - - [XAML and Custom Classes for WPF](xaml-and-custom-classes-for-wpf.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](../data/data-binding-overview.md) - [Dependency Properties Overview](dependency-properties-overview.md) - [Custom Dependency Properties](custom-dependency-properties.md) - [Dependency Property Metadata](dependency-property-metadata.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/componentresourcekey-markup-extension.md b/dotnet-desktop-guide/framework/wpf/advanced/componentresourcekey-markup-extension.md index 2774d63..6c72285 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/componentresourcekey-markup-extension.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/componentresourcekey-markup-extension.md @@ -41,7 +41,7 @@ Defines and references keys for resources that are loaded from external assembli ||| |-|-| |`targetTypeName`|The name of the public common language runtime (CLR) type that is defined in the resource assembly.| -|`targetID`|The key for the resource. When resources are looked up, `targetID` will be analogous to the [x:Key Directive](/dotnet/desktop-wpf/xaml-services/xkey-directive) of the resource.| +|`targetID`|The key for the resource. When resources are looked up, `targetID` will be analogous to the [x:Key Directive](/dotnet/desktop/xaml-services/xkey-directive) of the resource.| ## Remarks As seen in the usages above, a {`ComponentResourceKey`} markup extension usage is found in two places: @@ -60,7 +60,7 @@ Defines and references keys for resources that are loaded from external assembli The compact syntax shown relies on the constructor signature and positional parameter usage of a markup extension. The order in which the `targetTypeName` and `targetID` are given is important. The verbose syntax relies on the parameterless constructor, and then sets the and in a way that is analogous to a true attribute syntax on an object element. In the verbose syntax, the order in which the properties are set is not important. The relationship and mechanisms of these two alternatives (compact and verbose) is described in more detail in the topic [Markup Extensions and WPF XAML](markup-extensions-and-wpf-xaml.md). - Technically, the value for `targetID` can be any object, it does not have to be a string. However, the most common usage in WPF is to align the `targetID` value with forms that are strings, and where such strings are valid in the [XamlName Grammar](/dotnet/desktop-wpf/xaml-services/xamlname-grammar). + Technically, the value for `targetID` can be any object, it does not have to be a string. However, the most common usage in WPF is to align the `targetID` value with forms that are strings, and where such strings are valid in the [XamlName Grammar](/dotnet/desktop/xaml-services/xamlname-grammar). `ComponentResourceKey` can be used in object element syntax. In this case, specifying the value of both the and properties is required to properly initialize the extension. @@ -73,5 +73,5 @@ Defines and references keys for resources that are loaded from external assembli - - - [Control Authoring Overview](../controls/control-authoring-overview.md) -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [XAML in WPF](xaml-in-wpf.md) - [Markup Extensions and WPF XAML](markup-extensions-and-wpf-xaml.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/custom-dependency-properties.md b/dotnet-desktop-guide/framework/wpf/advanced/custom-dependency-properties.md index db7c810..486a820 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/custom-dependency-properties.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/custom-dependency-properties.md @@ -47,7 +47,7 @@ As mentioned in the [Dependency Properties Overview](dependency-properties-overv When you implement a property on a class, so long as your class derives from , you have the option to back your property with a identifier and thus to make it a dependency property. Having your property be a dependency property is not always necessary or appropriate, and will depend on your scenario needs. Sometimes, the typical technique of backing your property with a private field is adequate. However, you should implement your property as a dependency property whenever you want your property to support one or more of the following [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] capabilities: -- You want your property to be settable in a style. For more information, see [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview). +- You want your property to be settable in a style. For more information, see [Styling and Templating](../controls/styles-templates-overview.md). - You want your property to support data binding. For more information about data binding dependency properties, see [Bind the Properties of Two Controls](../data/how-to-bind-the-properties-of-two-controls.md). diff --git a/dotnet-desktop-guide/framework/wpf/advanced/datetime-xaml-syntax.md b/dotnet-desktop-guide/framework/wpf/advanced/datetime-xaml-syntax.md index 29b40c1..8e2938e 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/datetime-xaml-syntax.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/datetime-xaml-syntax.md @@ -69,4 +69,4 @@ Some controls, such as and [!NOTE] > Bindings are treated as a local value, which means that if you set another local value, you will eliminate the binding. For details, see [Dependency Property Value Precedence](dependency-property-value-precedence.md). -Dependency properties, or the class, do not natively support for purposes of producing notifications of changes in source property value for data binding operations. For more information on how to create properties for use in data binding that can report changes to a data binding target, see [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). +Dependency properties, or the class, do not natively support for purposes of producing notifications of changes in source property value for data binding operations. For more information on how to create properties for use in data binding that can report changes to a data binding target, see [Data Binding Overview](../data/data-binding-overview.md). ### Styles Styles and templates are two of the chief motivating scenarios for using dependency properties. Styles are particularly useful for setting properties that define application [!INCLUDE[TLA#tla_ui](../../../includes/tlasharptla-ui-md.md)]. Styles are typically defined as resources in XAML. Styles interact with the property system because they typically contain "setters" for particular properties, as well as "triggers" that change a property value based on the real-time value for another property. @@ -129,7 +129,7 @@ The following example creates a simple style (which would be defined inside a if the resource was created in code.| +|`key`|The key for the requested resource. This key was initially assigned by the [x:Key Directive](/dotnet/desktop/xaml-services/xkey-directive) if a resource was created in markup, or was provided as the `key` parameter when calling if the resource was created in code.| ## Remarks A `DynamicResource` will create a temporary expression during the initial compilation and thus defer lookup for resources until the requested resource value is actually required in order to construct an object. This may potentially be after the [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] page is loaded. The resource value will be found based on key search against all active resource dictionaries starting from the current page scope, and is substituted for the placeholder expression from compilation. @@ -42,9 +42,9 @@ Provides a value for any [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla Certain resource access scenarios are particularly appropriate for `DynamicResource` as opposed to a [StaticResource Markup Extension](staticresource-markup-extension.md). See [XAML Resources](/dotnet/desktop-wpf/fundamentals/xaml-resources-define) for a discussion about the relative merits and performance implications of `DynamicResource` and `StaticResource`. - The specified should correspond to an existing resource determined by [x:Key Directive](/dotnet/desktop-wpf/xaml-services/xkey-directive) at some level in your page, application, the available control themes and external resources, or system resources, and the resource lookup will happen in that order. For more information about resource lookup for static and dynamic resources, see [XAML Resources](/dotnet/desktop-wpf/fundamentals/xaml-resources-define). + The specified should correspond to an existing resource determined by [x:Key Directive](/dotnet/desktop/xaml-services/xkey-directive) at some level in your page, application, the available control themes and external resources, or system resources, and the resource lookup will happen in that order. For more information about resource lookup for static and dynamic resources, see [XAML Resources](/dotnet/desktop-wpf/fundamentals/xaml-resources-define). - A resource key may be any string defined in the [XamlName Grammar](/dotnet/desktop-wpf/xaml-services/xamlname-grammar). A resource key may also be other object types, such as a . A key is fundamental to how controls can be styled by themes. For more information, see [Control Authoring Overview](../controls/control-authoring-overview.md). + A resource key may be any string defined in the [XamlName Grammar](/dotnet/desktop/xaml-services/xamlname-grammar). A resource key may also be other object types, such as a . A key is fundamental to how controls can be styled by themes. For more information, see [Control Authoring Overview](../controls/control-authoring-overview.md). APIs for lookup of resource values, such as , follow the same resource lookup logic as used by `DynamicResource`. @@ -70,8 +70,8 @@ Provides a value for any [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla - [XAML Resources](/dotnet/desktop-wpf/fundamentals/xaml-resources-define) - [Resources and Code](resources-and-code.md) -- [x:Key Directive](/dotnet/desktop-wpf/xaml-services/xkey-directive) -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [x:Key Directive](/dotnet/desktop/xaml-services/xkey-directive) +- [XAML in WPF](xaml-in-wpf.md) - [Markup Extensions and WPF XAML](markup-extensions-and-wpf-xaml.md) - [StaticResource Markup Extension](staticresource-markup-extension.md) - [Markup Extensions and WPF XAML](markup-extensions-and-wpf-xaml.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/element-tree-and-serialization.md b/dotnet-desktop-guide/framework/wpf/advanced/element-tree-and-serialization.md index 5090f04..ab68add 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/element-tree-and-serialization.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/element-tree-and-serialization.md @@ -33,5 +33,5 @@ WPF programming elements often exist in some form of tree relationship to each o [Events](events-wpf.md) [Input](input-wpf.md) [Resources](resources-wpf.md) - [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) + [Styling and Templating](../controls/styles-templates-overview.md) [Threading Model](threading-model.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/events-wpf.md b/dotnet-desktop-guide/framework/wpf/advanced/events-wpf.md index fbbec15..2356b11 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/events-wpf.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/events-wpf.md @@ -38,6 +38,6 @@ ms.assetid: d3b93c6f-aa6b-486d-a010-d097ea8a516b [Properties](properties-wpf.md) [Input](input-wpf.md) [Resources](resources-wpf.md) - [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) + [Styling and Templating](../controls/styles-templates-overview.md) [WPF Content Model](../controls/wpf-content-model.md) [Threading Model](threading-model.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/framework-property-metadata.md b/dotnet-desktop-guide/framework/wpf/advanced/framework-property-metadata.md index ed67486..7d2478e 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/framework-property-metadata.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/framework-property-metadata.md @@ -26,7 +26,7 @@ Framework property metadata options are reported for the properties of object el > [!NOTE] > The term "inherits" in the context of property values means something specific for dependency properties; it means that child elements can inherit the actual dependency property value from parent elements because of a WPF framework-level capability of the [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] property system. It has nothing to do directly with managed code type and members inheritance through derived types. For details, see [Property Value Inheritance](property-value-inheritance.md). -- Reporting data binding characteristics (, ). By default, dependency properties in the framework support data binding, with a one-way binding behavior. You might disable data binding if there were no scenario for it whatsoever (because they are intended to be flexible and extensible, there aren't many examples of such properties in the default [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] APIs). You might set binding to have a two-way default for properties that tie together a control's behaviors amongst its component pieces ( is an example) or where two-way binding is the common and expected scenario for users ( is an example). Changing the data binding–related metadata only influences the default; on a per-binding basis that default can always be changed. For details on the binding modes and binding in general, see [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). +- Reporting data binding characteristics (, ). By default, dependency properties in the framework support data binding, with a one-way binding behavior. You might disable data binding if there were no scenario for it whatsoever (because they are intended to be flexible and extensible, there aren't many examples of such properties in the default [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] APIs). You might set binding to have a two-way default for properties that tie together a control's behaviors amongst its component pieces ( is an example) or where two-way binding is the common and expected scenario for users ( is an example). Changing the data binding–related metadata only influences the default; on a per-binding basis that default can always be changed. For details on the binding modes and binding in general, see [Data Binding Overview](../data/data-binding-overview.md). - Reporting whether properties should be journaled by applications or services that support journaling (). For general elements, journaling is not enabled by default, but it is selectively enabled for certain user input controls. This property is intended to be read by journaling services including the [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] implementation of journaling, and is typically set on user controls such as user selections within lists that should be persisted across navigation steps. For information about the journal, see [Navigation Overview](../app-development/navigation-overview.md). diff --git a/dotnet-desktop-guide/framework/wpf/advanced/globalization-and-localization.md b/dotnet-desktop-guide/framework/wpf/advanced/globalization-and-localization.md index 265cf5d..cb180cb 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/globalization-and-localization.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/globalization-and-localization.md @@ -30,6 +30,6 @@ ms.assetid: e96f9764-4e3f-4d1c-bf20-3fb890118aae - [xml:lang Handling in XAML](/dotnet/desktop-wpf/xaml-services/xml-language-handling) + [xml:lang Handling in XAML](/dotnet/desktop/xaml-services/xml-language-handling) ## Related Sections diff --git a/dotnet-desktop-guide/framework/wpf/advanced/globalization-for-wpf.md b/dotnet-desktop-guide/framework/wpf/advanced/globalization-for-wpf.md index f0362d2..1927cd7 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/globalization-for-wpf.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/globalization-for-wpf.md @@ -39,7 +39,7 @@ The following example shows a hexadecimal character reference. Notice that it ha ### Language Attribute - [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] uses [xml:lang](/dotnet/desktop-wpf/xaml-services/xml-language-handling) to represent the language attribute of an element. To take advantage of the class, the language attribute value needs to be one of the culture names predefined by . [xml:lang](/dotnet/desktop-wpf/xaml-services/xml-language-handling) is inheritable in the element tree (by XML rules, not necessarily because of dependency property inheritance) and its default value is an empty string if it is not assigned explicitly. + [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] uses [xml:lang](/dotnet/desktop/xaml-services/xml-language-handling) to represent the language attribute of an element. To take advantage of the class, the language attribute value needs to be one of the culture names predefined by . [xml:lang](/dotnet/desktop/xaml-services/xml-language-handling) is inheritable in the element tree (by XML rules, not necessarily because of dependency property inheritance) and its default value is an empty string if it is not assigned explicitly. The language attribute is very useful for specifying dialects. For example, French has different spelling, vocabulary, and pronunciation in France, Quebec, Belgium, and Switzerland. Also Chinese, Japanese, and Korean share code points in Unicode, but the ideographic shapes are different and they use totally different fonts. @@ -143,7 +143,7 @@ The following example shows a hexadecimal character reference. Notice that it ha ### Localizable User Interface [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] applications use [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] to define their [!INCLUDE[TLA2#tla_ui](../../../includes/tla2sharptla-ui-md.md)]. [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] allows developers to specify a hierarchy of objects with a set of properties and logic. The primary use of [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] is to develop [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] applications but it can be used to specify a hierarchy of any common language runtime (CLR) objects. Most developers use [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] to specify their application's [!INCLUDE[TLA2#tla_ui](../../../includes/tla2sharptla-ui-md.md)] and use a programming language such as C# to react to user interaction. - From a resource point of view, a [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] file designed to describe a language-dependent [!INCLUDE[TLA2#tla_ui](../../../includes/tla2sharptla-ui-md.md)] is a resource element and therefore its final distribution format must be localizable to support international languages. Because [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] cannot handle events many [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] applications contain blocks of code to do this. For more information, see [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml). Code is stripped out and compiled into different binaries when a [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] file is tokenized into the BAML form of XAML. The BAML form of XAML files, images, and other types of managed resource objects are embedded in the satellite resource assembly, which can be localized into other languages, or the main assembly when localization is not required. + From a resource point of view, a [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] file designed to describe a language-dependent [!INCLUDE[TLA2#tla_ui](../../../includes/tla2sharptla-ui-md.md)] is a resource element and therefore its final distribution format must be localizable to support international languages. Because [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] cannot handle events many [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] applications contain blocks of code to do this. For more information, see [XAML in WPF](xaml-in-wpf.md). Code is stripped out and compiled into different binaries when a [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] file is tokenized into the BAML form of XAML. The BAML form of XAML files, images, and other types of managed resource objects are embedded in the satellite resource assembly, which can be localized into other languages, or the main assembly when localization is not required. > [!NOTE] > [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] applications support all the FrameworkCLR resources including string tables, images, and so forth. diff --git a/dotnet-desktop-guide/framework/wpf/advanced/how-to-add-an-event-handler-using-code.md b/dotnet-desktop-guide/framework/wpf/advanced/how-to-add-an-event-handler-using-code.md index 3efe975..6a5ee85 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/how-to-add-an-event-handler-using-code.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/how-to-add-an-event-handler-using-code.md @@ -30,7 +30,7 @@ This example shows how to add an event handler to an element by using code. [!code-vb[RoutedEventAddRemoveHandler#Handler](~/samples/snippets/visualbasic/VS_Snippets_Wpf/RoutedEventAddRemoveHandler/VisualBasic/default.xaml.vb#handler)] > [!NOTE] -> Adding an event handler in the initially parsed [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] page is much simpler. Within the object element where you want to add the event handler, add an attribute that matches the name of the event that you want to handle. Then specify the value of that attribute as the name of the event handler method that you defined in the code-behind file of the [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] page. For more information, see [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) or [Routed Events Overview](routed-events-overview.md). +> Adding an event handler in the initially parsed [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] page is much simpler. Within the object element where you want to add the event handler, add an attribute that matches the name of the event that you want to handle. Then specify the value of that attribute as the name of the event handler method that you defined in the code-behind file of the [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] page. For more information, see [XAML in WPF](xaml-in-wpf.md) or [Routed Events Overview](routed-events-overview.md). ## See also diff --git a/dotnet-desktop-guide/framework/wpf/advanced/how-to-apply-a-focusvisualstyle-to-a-control.md b/dotnet-desktop-guide/framework/wpf/advanced/how-to-apply-a-focusvisualstyle-to-a-control.md index 2c68761..dbbf979 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/how-to-apply-a-focusvisualstyle-to-a-control.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/how-to-apply-a-focusvisualstyle-to-a-control.md @@ -23,5 +23,5 @@ This example shows you how to create a focus visual style in resources and apply ## See also - -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Styling and Templating](../controls/styles-templates-overview.md) - [Styling for Focus in Controls, and FocusVisualStyle](styling-for-focus-in-controls-and-focusvisualstyle.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/how-to-create-a-rollover-effect-using-events.md b/dotnet-desktop-guide/framework/wpf/advanced/how-to-create-a-rollover-effect-using-events.md index f98c9d2..e94f00a 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/how-to-create-a-rollover-effect-using-events.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/how-to-create-a-rollover-effect-using-events.md @@ -16,7 +16,7 @@ This example shows how to change the color of an element as the mouse pointer en This example consists of a [!INCLUDE[TLA#tla_xaml](../../../includes/tlasharptla-xaml-md.md)] file and a code-behind file. > [!NOTE] -> This example demonstrates how to use events, but the recommended way to achieve this same effect is to use a in a style. For more information, see [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview). +> This example demonstrates how to use events, but the recommended way to achieve this same effect is to use a in a style. For more information, see [Styling and Templating](../controls/styles-templates-overview.md). ## Example The following XAML creates the user interface, which consists of around a , and attaches the and event handlers to the . diff --git a/dotnet-desktop-guide/framework/wpf/advanced/how-to-define-and-reference-a-resource.md b/dotnet-desktop-guide/framework/wpf/advanced/how-to-define-and-reference-a-resource.md index 9587877..418a168 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/how-to-define-and-reference-a-resource.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/how-to-define-and-reference-a-resource.md @@ -24,4 +24,4 @@ Note that one of the properties within the setters of the `Label` style also ref ## See also - [XAML Resources](/dotnet/desktop-wpf/fundamentals/xaml-resources-define) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Styling and Templating](../controls/styles-templates-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/how-to-implement-icommandsource.md b/dotnet-desktop-guide/framework/wpf/advanced/how-to-implement-icommandsource.md index 4719544..49cd022 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/how-to-implement-icommandsource.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/how-to-implement-icommandsource.md @@ -29,7 +29,7 @@ The following is the class definition: [!code-csharp[ImplementICommandSource#ImplementICommandSourceClassDefinition](~/samples/snippets/csharp/VS_Snippets_Wpf/ImplementICommandSource/CSharp/CommandSlider.cs#implementicommandsourceclassdefinition)] [!code-vb[ImplementICommandSource#ImplementICommandSourceClassDefinition](~/samples/snippets/visualbasic/VS_Snippets_Wpf/ImplementICommandSource/visualbasic/commandslider.vb#implementicommandsourceclassdefinition)] -The next step is to implement the members. In this example, the properties are implemented as objects. This enables the properties to use data binding. For more information about the class, see the [Dependency Properties Overview](dependency-properties-overview.md). For more information about data binding, see the [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). +The next step is to implement the members. In this example, the properties are implemented as objects. This enables the properties to use data binding. For more information about the class, see the [Dependency Properties Overview](dependency-properties-overview.md). For more information about data binding, see the [Data Binding Overview](../data/data-binding-overview.md). Only the property is shown here. diff --git a/dotnet-desktop-guide/framework/wpf/advanced/how-to-use-systemfonts.md b/dotnet-desktop-guide/framework/wpf/advanced/how-to-use-systemfonts.md index 41d5a26..25511b3 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/how-to-use-systemfonts.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/how-to-use-systemfonts.md @@ -37,6 +37,6 @@ This example shows how to use the static resources of the base class (also defined in System.Xaml) provides the pattern that all markup extensions should use in order to be supported in XAML readers and XAML writers, including in WPF XAML. -- `x:Type` supplies the object for the named type. This facility is used most frequently in styles and templates. For details, see [x:Type Markup Extension](/dotnet/desktop-wpf/xaml-services/xtype-markup-extension). +- `x:Type` supplies the object for the named type. This facility is used most frequently in styles and templates. For details, see [x:Type Markup Extension](/dotnet/desktop/xaml-services/xtype-markup-extension). -- `x:Static` produces static values. The values come from value-type code entities that are not directly the type of a target property's value, but can be evaluated to that type. For details, see [x:Static Markup Extension](/dotnet/desktop-wpf/xaml-services/xstatic-markup-extension). +- `x:Static` produces static values. The values come from value-type code entities that are not directly the type of a target property's value, but can be evaluated to that type. For details, see [x:Static Markup Extension](/dotnet/desktop/xaml-services/xstatic-markup-extension). -- `x:Null` specifies `null` as a value for a property and can be used either for attributes or property element values. For details, see [x:Null Markup Extension](/dotnet/desktop-wpf/xaml-services/xnull-markup-extension). +- `x:Null` specifies `null` as a value for a property and can be used either for attributes or property element values. For details, see [x:Null Markup Extension](/dotnet/desktop/xaml-services/xnull-markup-extension). -- `x:Array` provides support for creation of general arrays in XAML syntax, for cases where the collection support provided by WPF base elements and control models is deliberately not used. For details, see [x:Array Markup Extension](/dotnet/desktop-wpf/xaml-services/xarray-markup-extension). +- `x:Array` provides support for creation of general arrays in XAML syntax, for cases where the collection support provided by WPF base elements and control models is deliberately not used. For details, see [x:Array Markup Extension](/dotnet/desktop/xaml-services/xarray-markup-extension). > [!NOTE] > The `x:` prefix is used for the typical XAML namespace mapping of the XAML language intrinsics, in the root element of a XAML file or production. For example, the Visual Studio templates for WPF applications initiate a XAML file using this `x:` mapping. You could choose a different prefix token in your own XAML namespace mapping, but this documentation will assume the default `x:` mapping as a means of identifying those entities that are a defined part of the XAML namespace for the XAML language, as opposed to the WPF default namespace or other XAML namespaces not related to a specific framework. @@ -92,7 +92,7 @@ This topic introduces the concept of markup extensions for XAML, including their ## Escape Sequences and Markup Extensions - Attribute handling in a XAML processor uses the curly braces as indicators of a markup extension sequence. It is also possible to produce a literal curly brace character attribute value if necessary, by entering an escape sequence using an empty curly brace pair followed by the literal curly brace. See [{} Escape Sequence - Markup Extension](/dotnet/desktop-wpf/xaml-services/escape-sequence-markup-extension). + Attribute handling in a XAML processor uses the curly braces as indicators of a markup extension sequence. It is also possible to produce a literal curly brace character attribute value if necessary, by entering an escape sequence using an empty curly brace pair followed by the literal curly brace. See [{} Escape Sequence - Markup Extension](/dotnet/desktop/xaml-services/escape-sequence-markup-extension). ## Nesting Markup Extensions in XAML Usage @@ -108,14 +108,14 @@ This topic introduces the concept of markup extensions for XAML, including their ## Markup Extensions and Property Element Syntax When used as an object element that fills a property element value, a markup extension class is visually indistinguishable from a typical type-backed object element that can be used in XAML. The practical difference between a typical object element and a markup extension is that the markup extension is either evaluated to a typed value or deferred as an expression. Therefore the mechanisms for any possible type errors of property values for the markup extension will be different, similar to how a late-bound property is treated in other programming models. An ordinary object element will be evaluated for type match against the target property it is setting when the XAML is parsed. - Most markup extensions, when used in object element syntax to fill a property element, would not have content or any further property element syntax within. Thus you would close the object element tag, and provide no child elements. Whenever any object element is encountered by a XAML processor, the constructor for that class is called, which instantiates the object created from the parsed element. A markup extension class is no different: if you want your markup extension to be usable in object element syntax, you must provide a parameterless constructor. Some existing markup extensions have at least one required property value that must be specified for effective initialization. If so, that property value is typically given as a property attribute on the object element. In the [XAML Namespace (x:) Language Features](/dotnet/desktop-wpf/xaml-services/namespace-language-features) and [WPF XAML Extensions](wpf-xaml-extensions.md) reference pages, markup extensions that have required properties (and the names of required properties) will be noted. Reference pages will also note if either object element syntax or attribute syntax is disallowed for particular markup extensions. A notable case is [x:Array Markup Extension](/dotnet/desktop-wpf/xaml-services/xarray-markup-extension), which cannot support attribute syntax because the contents of that array must be specified within the tagging as content. The array contents are handled as general objects, therefore no default type converter for the attribute is feasible. Also, [x:Array Markup Extension](/dotnet/desktop-wpf/xaml-services/xarray-markup-extension) requires a `type` parameter. + Most markup extensions, when used in object element syntax to fill a property element, would not have content or any further property element syntax within. Thus you would close the object element tag, and provide no child elements. Whenever any object element is encountered by a XAML processor, the constructor for that class is called, which instantiates the object created from the parsed element. A markup extension class is no different: if you want your markup extension to be usable in object element syntax, you must provide a parameterless constructor. Some existing markup extensions have at least one required property value that must be specified for effective initialization. If so, that property value is typically given as a property attribute on the object element. In the [XAML Namespace (x:) Language Features](/dotnet/desktop/xaml-services/namespace-language-features) and [WPF XAML Extensions](wpf-xaml-extensions.md) reference pages, markup extensions that have required properties (and the names of required properties) will be noted. Reference pages will also note if either object element syntax or attribute syntax is disallowed for particular markup extensions. A notable case is [x:Array Markup Extension](/dotnet/desktop/xaml-services/xarray-markup-extension), which cannot support attribute syntax because the contents of that array must be specified within the tagging as content. The array contents are handled as general objects, therefore no default type converter for the attribute is feasible. Also, [x:Array Markup Extension](/dotnet/desktop/xaml-services/xarray-markup-extension) requires a `type` parameter. ## See also -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) -- [XAML Namespace (x:) Language Features](/dotnet/desktop-wpf/xaml-services/namespace-language-features) +- [XAML in WPF](xaml-in-wpf.md) +- [XAML Namespace (x:) Language Features](/dotnet/desktop/xaml-services/namespace-language-features) - [WPF XAML Extensions](wpf-xaml-extensions.md) - [StaticResource Markup Extension](staticresource-markup-extension.md) - [Binding Markup Extension](binding-markup-extension.md) - [DynamicResource Markup Extension](dynamicresource-markup-extension.md) -- [x:Type Markup Extension](/dotnet/desktop-wpf/xaml-services/xtype-markup-extension) +- [x:Type Markup Extension](/dotnet/desktop/xaml-services/xtype-markup-extension) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/mc-ignorable-attribute.md b/dotnet-desktop-guide/framework/wpf/advanced/mc-ignorable-attribute.md index e591cc5..90ac579 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/mc-ignorable-attribute.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/mc-ignorable-attribute.md @@ -63,5 +63,5 @@ Specifies which XML namespace prefixes encountered in a markup file may be ignor - - [PresentationOptions:Freeze Attribute](presentationoptions-freeze-attribute.md) -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [XAML in WPF](xaml-in-wpf.md) - [Documents in WPF](documents-in-wpf.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/mc-processcontent-attribute.md b/dotnet-desktop-guide/framework/wpf/advanced/mc-processcontent-attribute.md index cfb3cb0..e0aa5b5 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/mc-processcontent-attribute.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/mc-processcontent-attribute.md @@ -45,4 +45,4 @@ Specifies which [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md. ## See also - [mc:Ignorable Attribute](mc-ignorable-attribute.md) -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [XAML in WPF](xaml-in-wpf.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/merged-resource-dictionaries.md b/dotnet-desktop-guide/framework/wpf/advanced/merged-resource-dictionaries.md index e38292e..b1d5a9a 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/merged-resource-dictionaries.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/merged-resource-dictionaries.md @@ -14,7 +14,7 @@ ms.assetid: d159531f-05d4-49fd-b951-c332de51e5bc [!code-xaml[ResourceMergeDictionary#MergedXAML](~/samples/snippets/csharp/VS_Snippets_Wpf/ResourceMergeDictionary/CS/default.xaml#mergedxaml)] - Note that the element does not have an [x:Key Directive](/dotnet/desktop-wpf/xaml-services/xkey-directive), which is generally required for all items in a resource collection. But another reference within the collection is a special case, reserved for this merged resource dictionary scenario. The that introduces a merged resource dictionary cannot have an [x:Key Directive](/dotnet/desktop-wpf/xaml-services/xkey-directive). Typically, each within the collection specifies a attribute. The value of should be a uniform resource identifier (URI) that resolves to the location of the resources file to be merged. The destination of that URI must be another [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] file, with as its root element. + Note that the element does not have an [x:Key Directive](/dotnet/desktop/xaml-services/xkey-directive), which is generally required for all items in a resource collection. But another reference within the collection is a special case, reserved for this merged resource dictionary scenario. The that introduces a merged resource dictionary cannot have an [x:Key Directive](/dotnet/desktop/xaml-services/xkey-directive). Typically, each within the collection specifies a attribute. The value of should be a uniform resource identifier (URI) that resolves to the location of the resources file to be merged. The destination of that URI must be another [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] file, with as its root element. > [!NOTE] > It is legal to define resources within a that is specified as a merged dictionary, either as an alternative to specifying , or in addition to whatever resources are included from the specified source. However, this is not a common scenario; the main scenario for merged dictionaries is to merge resources from external file locations. If you want to specify resources within the markup for a page, you should typically define these in the main and not in the merged dictionaries. diff --git a/dotnet-desktop-guide/framework/wpf/advanced/object-lifetime-events.md b/dotnet-desktop-guide/framework/wpf/advanced/object-lifetime-events.md index f3c6a71..b64341b 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/object-lifetime-events.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/object-lifetime-events.md @@ -30,7 +30,7 @@ This topic describes the specific [!INCLUDE[TLA2#tla_winclient](../../../include ## Prerequisites - This topic assumes that you understand dependency properties from the perspective of a consumer of existing dependency properties on [!INCLUDE[TLA#tla_winclient](../../../includes/tlasharptla-winclient-md.md)] classes, and have read the [Dependency Properties Overview](dependency-properties-overview.md) topic. In order to follow the examples in this topic, you should also understand [!INCLUDE[TLA#tla_xaml](../../../includes/tlasharptla-xaml-md.md)] (see [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml)) and know how to write [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] applications. + This topic assumes that you understand dependency properties from the perspective of a consumer of existing dependency properties on [!INCLUDE[TLA#tla_winclient](../../../includes/tlasharptla-winclient-md.md)] classes, and have read the [Dependency Properties Overview](dependency-properties-overview.md) topic. In order to follow the examples in this topic, you should also understand [!INCLUDE[TLA#tla_xaml](../../../includes/tlasharptla-xaml-md.md)] (see [XAML in WPF](xaml-in-wpf.md)) and know how to write [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] applications. ## Object Lifetime Events diff --git a/dotnet-desktop-guide/framework/wpf/advanced/optimizing-performance-controls.md b/dotnet-desktop-guide/framework/wpf/advanced/optimizing-performance-controls.md index 278fe6c..fb64224 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/optimizing-performance-controls.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/optimizing-performance-controls.md @@ -75,5 +75,5 @@ The following table lists the common controls for displaying data and their supp - [Layout and Design](optimizing-performance-layout-and-design.md) - [Data Binding](optimizing-performance-data-binding.md) - [Controls](../controls/index.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Styling and Templating](../controls/styles-templates-overview.md) - [Walkthrough: Caching Application Data in a WPF Application](walkthrough-caching-application-data-in-a-wpf-application.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/optimizing-performance-data-binding.md b/dotnet-desktop-guide/framework/wpf/advanced/optimizing-performance-data-binding.md index c3364cb..02b6995 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/optimizing-performance-data-binding.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/optimizing-performance-data-binding.md @@ -76,5 +76,5 @@ ms.assetid: 1506a35d-c009-43db-9f1e-4e230ad5be73 - [Application Resources](optimizing-performance-application-resources.md) - [Text](optimizing-performance-text.md) - [Other Performance Recommendations](optimizing-performance-other-recommendations.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](../data/data-binding-overview.md) - [Walkthrough: Caching Application Data in a WPF Application](walkthrough-caching-application-data-in-a-wpf-application.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/optimizing-wpf-application-performance.md b/dotnet-desktop-guide/framework/wpf/advanced/optimizing-wpf-application-performance.md index ce7a90b..15ab0af 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/optimizing-wpf-application-performance.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/optimizing-wpf-application-performance.md @@ -54,7 +54,7 @@ This section is intended as a reference for [!INCLUDE[TLA#tla_winclient](../../. - [Documents in WPF](documents-in-wpf.md) - [Drawing Formatted Text](drawing-formatted-text.md) - [Typography in WPF](typography-in-wpf.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](../data/data-binding-overview.md) - [Navigation Overview](../app-development/navigation-overview.md) - [Animation Tips and Tricks](../graphics-multimedia/animation-tips-and-tricks.md) - [Walkthrough: Caching Application Data in a WPF Application](walkthrough-caching-application-data-in-a-wpf-application.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/property-change-events.md b/dotnet-desktop-guide/framework/wpf/advanced/property-change-events.md index 52dc8e9..c61a0fa 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/property-change-events.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/property-change-events.md @@ -53,7 +53,7 @@ ms.assetid: 0a7989df-9674-4cc1-bc50-5d8ef5d9c055 Property triggers are generally appropriate for scenarios where one or more appearance properties should change, based on the state of another property on the same element. - To learn more about property triggers, see [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview). + To learn more about property triggers, see [Styling and Templating](../controls/styles-templates-overview.md). ## See also diff --git a/dotnet-desktop-guide/framework/wpf/advanced/propertypath-xaml-syntax.md b/dotnet-desktop-guide/framework/wpf/advanced/propertypath-xaml-syntax.md index 4c8c910..9aa8f58 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/propertypath-xaml-syntax.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/propertypath-xaml-syntax.md @@ -88,7 +88,7 @@ For use as storyboard target, the property specified as `propertyName` must be a ``` -The / in this syntax is used to navigate within a hierarchical data source object, and multiple steps into the hierarchy with successive / characters are supported. The source traversal accounts for the current record pointer position, which is determined by synchronizing the data with the UI of its view. For details on binding with hierarchical data source objects, and the concept of current record pointer in data binding, see [Use the Master-Detail Pattern with Hierarchical Data](../data/how-to-use-the-master-detail-pattern-with-hierarchical-data.md) or [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). +The / in this syntax is used to navigate within a hierarchical data source object, and multiple steps into the hierarchy with successive / characters are supported. The source traversal accounts for the current record pointer position, which is determined by synchronizing the data with the UI of its view. For details on binding with hierarchical data source objects, and the concept of current record pointer in data binding, see [Use the Master-Detail Pattern with Hierarchical Data](../data/how-to-use-the-master-detail-pattern-with-hierarchical-data.md) or [Data Binding Overview](../data/data-binding-overview.md). > [!NOTE] > Superficially, this syntax resembles XPath. A true XPath expression for binding to an XML data source is not used as a value and should instead be used for the mutually exclusive property. @@ -186,7 +186,7 @@ In order to support cloning for animating a that `propertyName2` must be the name of a dependency property that exists on the object that is the value of `propertyName`. In other words, `propertyName2` must exist as a dependency property on the type that is the `propertyName` . -Indirect targeting of animations is necessary because of applied styles and templates. In order to target an animation, you need a on a target object, and that name is established by [x:Name](/dotnet/desktop-wpf/xaml-services/xname-directive) or . Although template and style elements also can have names, those names are only valid within the namescope of the style and template. (If templates and styles did share namescopes with application markup, names couldn't be unique. The styles and templates are literally shared between instances and would perpetuate duplicate names.) Thus, if the individual properties of an element that you might wish to animate came from a style or template, you need to start with a named element instance that is not from a style template, and then target into the style or template visual tree to arrive at the property you wish to animate. +Indirect targeting of animations is necessary because of applied styles and templates. In order to target an animation, you need a on a target object, and that name is established by [x:Name](/dotnet/desktop/xaml-services/xname-directive) or . Although template and style elements also can have names, those names are only valid within the namescope of the style and template. (If templates and styles did share namescopes with application markup, names couldn't be unique. The styles and templates are literally shared between instances and would perpetuate duplicate names.) Thus, if the individual properties of an element that you might wish to animate came from a style or template, you need to start with a named element instance that is not from a style template, and then target into the style or template visual tree to arrive at the property you wish to animate. For instance, the property of a is a complete (actually a ) that came from a theme template. To animate a completely, there would need to be a BrushAnimation (probably one for every type) and there is no such type. To animate a Brush, you instead animate properties of a particular type. You need to get from to its to apply a there. The property path for this example would be `Background.Color`. @@ -221,5 +221,5 @@ In general, is designed to use two different ## See also - -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](../data/data-binding-overview.md) - [Storyboards Overview](../graphics-multimedia/storyboards-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/read-only-dependency-properties.md b/dotnet-desktop-guide/framework/wpf/advanced/read-only-dependency-properties.md index 840d3b5..af906d9 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/read-only-dependency-properties.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/read-only-dependency-properties.md @@ -39,4 +39,4 @@ This topic describes read-only dependency properties, including existing read-on - [Dependency Properties Overview](dependency-properties-overview.md) - [Custom Dependency Properties](custom-dependency-properties.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Styling and Templating](../controls/styles-templates-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/relativesource-markupextension.md b/dotnet-desktop-guide/framework/wpf/advanced/relativesource-markupextension.md index 8c4e30b..68c9948 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/relativesource-markupextension.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/relativesource-markupextension.md @@ -65,7 +65,7 @@ Specifies properties of a binding sour `{RelativeSource FindAncestor}` is mainly used in control templates or predictable self-contained UI compositions, for cases where a control is always expected to be in a visual tree of a certain ancestor type. For example, items of an items control might use `FindAncestor` usages to bind to properties of their items control parent ancestor. Or, elements that are part of control composition in a template can use `FindAncestor` bindings to the parent elements in that same composition structure. -In the object element syntax for `FindAncestor` mode shown in the XAML Syntax sections, the second object element syntax is used specifically for `FindAncestor` mode. `FindAncestor` mode requires an value. You must set as an attribute using an [x:Type Markup Extension](/dotnet/desktop-wpf/xaml-services/xtype-markup-extension) reference to the type of ancestor to look for. The value is used when the binding request is processed at run-time. +In the object element syntax for `FindAncestor` mode shown in the XAML Syntax sections, the second object element syntax is used specifically for `FindAncestor` mode. `FindAncestor` mode requires an value. You must set as an attribute using an [x:Type Markup Extension](/dotnet/desktop/xaml-services/xtype-markup-extension) reference to the type of ancestor to look for. The value is used when the binding request is processed at run-time. For `FindAncestor` mode, the optional property can help disambiguate the ancestor lookup in cases where there is possibly more than one ancestor of that type existing in the element tree. @@ -100,7 +100,7 @@ In the following example, the first in ``` -Describing data binding as a concept is not covered here, see [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). +Describing data binding as a concept is not covered here, see [Data Binding Overview](../data/data-binding-overview.md). In the [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] XAML processor implementation, the handling for this markup extension is defined by the class. @@ -109,9 +109,9 @@ In the [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md ## See also - -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [Styling and Templating](../controls/styles-templates-overview.md) +- [XAML in WPF](xaml-in-wpf.md) - [Markup Extensions and WPF XAML](markup-extensions-and-wpf-xaml.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](../data/data-binding-overview.md) - [Binding Declarations Overview](../data/binding-declarations-overview.md) -- [x:Type Markup Extension](/dotnet/desktop-wpf/xaml-services/xtype-markup-extension) +- [x:Type Markup Extension](/dotnet/desktop/xaml-services/xtype-markup-extension) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/resources-and-code.md b/dotnet-desktop-guide/framework/wpf/advanced/resources-and-code.md index 56c2943..1c09215 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/resources-and-code.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/resources-and-code.md @@ -36,9 +36,9 @@ This overview concentrates on how [!INCLUDE[TLA#tla_winclient](../../../includes ## Using Objects as Keys - Most resource usages will set the key of the resource to be a string. However, various [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] features deliberately do not use a string type to specify keys, instead this parameter is an object. The capability of having the resource be keyed by an object is used by the [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] style and theming support. The styles in themes which become the default style for an otherwise non-styled control are each keyed by the of the control that they should apply to. Being keyed by type provides a reliable lookup mechanism that works on default instances of each control type, and type can be detected by reflection and used for styling derived classes even though the derived type otherwise has no default style. You can specify a key for a resource defined in [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] by using the [x:Type Markup Extension](/dotnet/desktop-wpf/xaml-services/xtype-markup-extension). Similar extensions exist for other nonstring key usages that support [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] features, such as [ComponentResourceKey Markup Extension](componentresourcekey-markup-extension.md). + Most resource usages will set the key of the resource to be a string. However, various [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] features deliberately do not use a string type to specify keys, instead this parameter is an object. The capability of having the resource be keyed by an object is used by the [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] style and theming support. The styles in themes which become the default style for an otherwise non-styled control are each keyed by the of the control that they should apply to. Being keyed by type provides a reliable lookup mechanism that works on default instances of each control type, and type can be detected by reflection and used for styling derived classes even though the derived type otherwise has no default style. You can specify a key for a resource defined in [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] by using the [x:Type Markup Extension](/dotnet/desktop/xaml-services/xtype-markup-extension). Similar extensions exist for other nonstring key usages that support [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] features, such as [ComponentResourceKey Markup Extension](componentresourcekey-markup-extension.md). ## See also - [XAML Resources](/dotnet/desktop-wpf/fundamentals/xaml-resources-define) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Styling and Templating](../controls/styles-templates-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/resources-wpf.md b/dotnet-desktop-guide/framework/wpf/advanced/resources-wpf.md index c45b8bd..77c464b 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/resources-wpf.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/resources-wpf.md @@ -24,7 +24,7 @@ A resource is an object that can be reused in different places in your applicati [DynamicResource Markup Extension](dynamicresource-markup-extension.md) - [x:Key Directive](/dotnet/desktop-wpf/xaml-services/xkey-directive) + [x:Key Directive](/dotnet/desktop/xaml-services/xkey-directive) ## Related Sections [XAML in WPF](xaml-in-wpf.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/routed-events-overview.md b/dotnet-desktop-guide/framework/wpf/advanced/routed-events-overview.md index 362344f..0adbec3 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/routed-events-overview.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/routed-events-overview.md @@ -26,7 +26,7 @@ This topic describes the concept of routed events in [!INCLUDE[TLA#tla_winclient ## Prerequisites -This topic assumes that you have basic knowledge of the common language runtime (CLR) and object-oriented programming, as well as the concept of how the relationships between [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] elements can be conceptualized as a tree. In order to follow the examples in this topic, you should also understand [!INCLUDE[TLA#tla_xaml](../../../includes/tlasharptla-xaml-md.md)] and know how to write very basic [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] applications or pages. For more information, see [Walkthrough: My first WPF desktop application](../getting-started/walkthrough-my-first-wpf-desktop-application.md) and [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml). +This topic assumes that you have basic knowledge of the common language runtime (CLR) and object-oriented programming, as well as the concept of how the relationships between [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] elements can be conceptualized as a tree. In order to follow the examples in this topic, you should also understand [!INCLUDE[TLA#tla_xaml](../../../includes/tlasharptla-xaml-md.md)] and know how to write very basic [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] applications or pages. For more information, see [Walkthrough: My first WPF desktop application](../getting-started/walkthrough-my-first-wpf-desktop-application.md) and [XAML in WPF](xaml-in-wpf.md). @@ -84,7 +84,7 @@ To add a handler for an event using [!INCLUDE[TLA2#tla_xaml](../../../includes/t [!code-xaml[EventOvwSupport#SimplestSyntax](~/samples/snippets/csharp/VS_Snippets_Wpf/EventOvwSupport/CSharp/default.xaml#simplestsyntax)] -The [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] syntax for adding standard CLR event handlers is the same for adding routed event handlers, because you are really adding handlers to the CLR event wrapper, which has a routed event implementation underneath. For more information about adding event handlers in [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)], see [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml). +The [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] syntax for adding standard CLR event handlers is the same for adding routed event handlers, because you are really adding handlers to the CLR event wrapper, which has a routed event implementation underneath. For more information about adding event handlers in [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)], see [XAML in WPF](xaml-in-wpf.md). diff --git a/dotnet-desktop-guide/framework/wpf/advanced/staticresource-markup-extension.md b/dotnet-desktop-guide/framework/wpf/advanced/staticresource-markup-extension.md index 777dd56..be8fc4d 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/staticresource-markup-extension.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/staticresource-markup-extension.md @@ -33,16 +33,16 @@ Provides a value for any [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla ||| |-|-| -|`key`|The key for the requested resource. This key was initially assigned by the [x:Key Directive](/dotnet/desktop-wpf/xaml-services/xkey-directive) if a resource was created in markup, or was provided as the `key` parameter when calling if the resource was created in code.| +|`key`|The key for the requested resource. This key was initially assigned by the [x:Key Directive](/dotnet/desktop/xaml-services/xkey-directive) if a resource was created in markup, or was provided as the `key` parameter when calling if the resource was created in code.| ## Remarks > [!IMPORTANT] > A `StaticResource` must not attempt to make a forward reference to a resource that is defined lexically further within the [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] file. Attempting to do so is not supported, and even if such a reference does not fail, attempting the forward reference will incur a load time performance penalty when the internal hash tables representing a are searched. For best results, adjust the composition of your resource dictionaries such that forward references can be avoided. If you cannot avoid a forward reference, use [DynamicResource Markup Extension](dynamicresource-markup-extension.md) instead. - The specified should correspond to an existing resource, identified with an [x:Key Directive](/dotnet/desktop-wpf/xaml-services/xkey-directive) at some level in your page, application, the available control themes and external resources, or system resources. The resource lookup occurs in that order. For more information about resource lookup behavior for static and dynamic resources, see [XAML Resources](/dotnet/desktop-wpf/fundamentals/xaml-resources-define). + The specified should correspond to an existing resource, identified with an [x:Key Directive](/dotnet/desktop/xaml-services/xkey-directive) at some level in your page, application, the available control themes and external resources, or system resources. The resource lookup occurs in that order. For more information about resource lookup behavior for static and dynamic resources, see [XAML Resources](/dotnet/desktop-wpf/fundamentals/xaml-resources-define). - A resource key can be any string defined in the [XamlName Grammar](/dotnet/desktop-wpf/xaml-services/xamlname-grammar). A resource key can also be other object types, such as a . A key is fundamental to how controls can be styled by themes, through an implicit style key. For more information, see [Control Authoring Overview](../controls/control-authoring-overview.md). + A resource key can be any string defined in the [XamlName Grammar](/dotnet/desktop/xaml-services/xamlname-grammar). A resource key can also be other object types, such as a . A key is fundamental to how controls can be styled by themes, through an implicit style key. For more information, see [Control Authoring Overview](../controls/control-authoring-overview.md). The alternative declarative means of referencing a resource is as a [DynamicResource Markup Extension](dynamicresource-markup-extension.md). @@ -64,8 +64,8 @@ Provides a value for any [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla ## See also -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [Styling and Templating](../controls/styles-templates-overview.md) +- [XAML in WPF](xaml-in-wpf.md) - [Markup Extensions and WPF XAML](markup-extensions-and-wpf-xaml.md) - [XAML Resources](/dotnet/desktop-wpf/fundamentals/xaml-resources-define) - [Resources and Code](resources-and-code.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/styling-for-focus-in-controls-and-focusvisualstyle.md b/dotnet-desktop-guide/framework/wpf/advanced/styling-for-focus-in-controls-and-focusvisualstyle.md index 61be10f..eefb4b0 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/styling-for-focus-in-controls-and-focusvisualstyle.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/styling-for-focus-in-controls-and-focusvisualstyle.md @@ -57,7 +57,7 @@ ms.assetid: 786ac576-011b-4d72-913b-558deccb9b35 ## Alternatives to Using a Focus Visual Style For situations where using a focus visual style is not appropriate, either because you are only styling single controls or because you want greater control over the control template, there are many other accessible properties and techniques that can create visual behavior in response to changes in focus. - Triggers, setters, and event setters are all discussed in detail in [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview). Routed event handling is discussed in [Routed Events Overview](routed-events-overview.md). + Triggers, setters, and event setters are all discussed in detail in [Styling and Templating](../controls/styles-templates-overview.md). Routed event handling is discussed in [Routed Events Overview](routed-events-overview.md). ### IsKeyboardFocused If you are specifically interested in keyboard focus, the dependency property can be used for a property . A property trigger in either a style or template is a more appropriate technique for defining a keyboard focus behavior that is very specifically for a single control, and which might not visually match the keyboard focus behavior for other controls. @@ -72,6 +72,6 @@ ms.assetid: 786ac576-011b-4d72-913b-558deccb9b35 ## See also - -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Styling and Templating](../controls/styles-templates-overview.md) - [Focus Overview](focus-overview.md) - [Input Overview](input-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/templatebinding-markup-extension.md b/dotnet-desktop-guide/framework/wpf/advanced/templatebinding-markup-extension.md index ae09d3e..435b37a 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/templatebinding-markup-extension.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/templatebinding-markup-extension.md @@ -59,8 +59,8 @@ Links the value of a property in a control template to be the value of another p - - -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [Styling and Templating](../controls/styles-templates-overview.md) +- [XAML in WPF](xaml-in-wpf.md) - [Markup Extensions and WPF XAML](markup-extensions-and-wpf-xaml.md) - [RelativeSource MarkupExtension](relativesource-markupextension.md) - [Binding Markup Extension](binding-markup-extension.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/themedictionary-markup-extension.md b/dotnet-desktop-guide/framework/wpf/advanced/themedictionary-markup-extension.md index 81dc2c5..ae782f6 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/themedictionary-markup-extension.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/themedictionary-markup-extension.md @@ -59,7 +59,7 @@ Provides a way for custom control authors or applications that integrate third-p ## See also -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [Styling and Templating](../controls/styles-templates-overview.md) +- [XAML in WPF](xaml-in-wpf.md) - [Markup Extensions and WPF XAML](markup-extensions-and-wpf-xaml.md) - [WPF Application Resource, Content, and Data Files](../app-development/wpf-application-resource-content-and-data-files.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/trees-in-wpf.md b/dotnet-desktop-guide/framework/wpf/advanced/trees-in-wpf.md index ca80dac..fbdeb50 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/trees-in-wpf.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/trees-in-wpf.md @@ -37,7 +37,7 @@ In many technologies, elements and components are organized in a tree structure However, the logical tree is not the entire object graph that exists for your application UI at run time, even with the XAML implicit syntax items factored out. The main reason for this is visuals and templates. For example, consider the . The logical tree reports the object and also its string `Content`. But there is more to this button in the run-time object tree. In particular, the button only appears on screen the way it does because a specific control template was applied. The visuals that come from an applied template (such as the template-defined of dark gray around the visual button) are not reported in the logical tree, even if you are looking at the logical tree during run time (such as handling an input event from the visible UI and then reading the logical tree). To find the template visuals, you would instead need to examine the visual tree. - For more information about how [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] syntax maps to the created object graph, and implicit syntax in XAML, see [XAML Syntax In Detail](xaml-syntax-in-detail.md) or [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml). + For more information about how [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] syntax maps to the created object graph, and implicit syntax in XAML, see [XAML Syntax In Detail](xaml-syntax-in-detail.md) or [XAML in WPF](xaml-in-wpf.md). diff --git a/dotnet-desktop-guide/framework/wpf/advanced/typeconverters-and-xaml.md b/dotnet-desktop-guide/framework/wpf/advanced/typeconverters-and-xaml.md index fa1c350..71711c7 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/typeconverters-and-xaml.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/typeconverters-and-xaml.md @@ -105,6 +105,6 @@ This topic introduces the purpose of type conversion from string as a general XA ## See also - -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [XAML in WPF](xaml-in-wpf.md) - [Markup Extensions and WPF XAML](markup-extensions-and-wpf-xaml.md) - [XAML Syntax In Detail](xaml-syntax-in-detail.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/types-migrated-from-wpf-to-system.md b/dotnet-desktop-guide/framework/wpf/advanced/types-migrated-from-wpf-to-system.md index c6a8715..7a45efe 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/types-migrated-from-wpf-to-system.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/types-migrated-from-wpf-to-system.md @@ -62,7 +62,7 @@ The following table contains a list of the XAML feature-support classes that are ||`{x:Static ...}`| ||`{x:Type ...}`| -Although System.Xaml may not have specific support classes, the general logic for processing language features for the XAML language now resides in System.Xaml and its implemented XAML readers and XAML writers. For example, `x:TypeArguments` is an attribute that is processed by XAML readers and XAML writers from System.Xaml implementations; it can be noted in the XAML node stream, has handling in the default (CLR-based) XAML schema context, has a XAML type-system representation, and so on. As a result, the reference documentation for all XAML language-level features is a subtopic for [XAML Services](/dotnet/desktop-wpf/xaml-services/index) in the [Desktop Guide for Windows Presentation Foundation (WPF)](/dotnet/desktop-wpf/overview/index). +Although System.Xaml may not have specific support classes, the general logic for processing language features for the XAML language now resides in System.Xaml and its implemented XAML readers and XAML writers. For example, `x:TypeArguments` is an attribute that is processed by XAML readers and XAML writers from System.Xaml implementations; it can be noted in the XAML node stream, has handling in the default (CLR-based) XAML schema context, has a XAML type-system representation, and so on. For more information about the reference documentation for XAML, see [XAML Services](/dotnet/desktop/xaml-services/index). ## ValueSerializer and Supporting Classes diff --git a/dotnet-desktop-guide/framework/wpf/advanced/visual-basic-and-wpf-event-handling.md b/dotnet-desktop-guide/framework/wpf/advanced/visual-basic-and-wpf-event-handling.md index 3a90e44..95de032 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/visual-basic-and-wpf-event-handling.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/visual-basic-and-wpf-event-handling.md @@ -10,7 +10,7 @@ ms.assetid: ad4eb9aa-3afc-4a71-8cf6-add3fbea54a1 For the Microsoft Visual Basic .NET language specifically, you can use the language-specific `Handles` keyword to associate event handlers with instances, instead of attaching event handlers with attributes or using the method. However, the `Handles` technique for attaching handlers to instances does have some limitations, because the `Handles` syntax cannot support some of the specific routed event features of the [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] event system. ## Using "Handles" in a WPF Application - The event handlers that are connected to instances and events with `Handles` must all be defined within the partial class declaration of the instance, which is also a requirement for event handlers that are assigned through attribute values on elements. You can only specify `Handles` for an element on the page that has a property value (or [x:Name Directive](/dotnet/desktop-wpf/xaml-services/xname-directive) declared). This is because the in [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] creates the instance reference that is necessary to support the *Instance.Event* reference format required by the `Handles` syntax. The only element that can be used for `Handles` without a reference is the root-element instance that defines the partial class. + The event handlers that are connected to instances and events with `Handles` must all be defined within the partial class declaration of the instance, which is also a requirement for event handlers that are assigned through attribute values on elements. You can only specify `Handles` for an element on the page that has a property value (or [x:Name Directive](/dotnet/desktop/xaml-services/xname-directive) declared). This is because the in [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] creates the instance reference that is necessary to support the *Instance.Event* reference format required by the `Handles` syntax. The only element that can be used for `Handles` without a reference is the root-element instance that defines the partial class. You can assign the same handler to multiple elements by separating *Instance.Event* references after `Handles` with commas. @@ -31,7 +31,7 @@ For the Microsoft Visual Basic .NET language specifically, you can use the langu > Do not use the `Handles` syntax in Visual Basic code when you specify an event handler for the same event in XAML. In this case, the event handler is called twice. ## How WPF Implements "Handles" Functionality - When a [!INCLUDE[TLA#tla_xaml](../../../includes/tlasharptla-xaml-md.md)] page is compiled, the intermediate file declares `Friend` `WithEvents` references to every element on the page that has a property set (or [x:Name Directive](/dotnet/desktop-wpf/xaml-services/xname-directive) declared). Each named instance is potentially an element that can be assigned to a handler through `Handles`. + When a [!INCLUDE[TLA#tla_xaml](../../../includes/tlasharptla-xaml-md.md)] page is compiled, the intermediate file declares `Friend` `WithEvents` references to every element on the page that has a property set (or [x:Name Directive](/dotnet/desktop/xaml-services/xname-directive) declared). Each named instance is potentially an element that can be assigned to a handler through `Handles`. > [!NOTE] > Within Visual Studio, IntelliSense can show you completion for which elements are available for a `Handles` reference in a page. However, this might take one compile pass so that the intermediate file can populate all the `Friends` references. @@ -41,4 +41,4 @@ For the Microsoft Visual Basic .NET language specifically, you can use the langu - - [Marking Routed Events as Handled, and Class Handling](marking-routed-events-as-handled-and-class-handling.md) - [Routed Events Overview](routed-events-overview.md) -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [XAML in WPF](xaml-in-wpf.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/walkthrough-hosting-a-wpf-composite-control-in-windows-forms.md b/dotnet-desktop-guide/framework/wpf/advanced/walkthrough-hosting-a-wpf-composite-control-in-windows-forms.md index 41b724e..d461245 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/walkthrough-hosting-a-wpf-composite-control-in-windows-forms.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/walkthrough-hosting-a-wpf-composite-control-in-windows-forms.md @@ -82,7 +82,7 @@ You need Visual Studio to complete this walkthrough. #### Styling the UI Elements Many of the elements on the data-entry form have a similar appearance, which means that they have identical settings for several of their properties. Rather than setting each element's attributes separately, the previous XAML uses elements to define standard property settings for classes of elements. This approach reduces the complexity of the control and enables you to change the appearance of multiple elements through a single style attribute. - The elements are contained in the element's property, so they can be used by all elements in the control. If a style is named, you apply it to an element by adding a element set to the style's name. Styles that are not named become the default style for the element. For more information about [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] styles, see [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview). + The elements are contained in the element's property, so they can be used by all elements in the control. If a style is named, you apply it to an element by adding a element set to the style's name. Styles that are not named become the default style for the element. For more information about [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] styles, see [Styling and Templating](../controls/styles-templates-overview.md). The following XAML shows the elements for the composite control. To see how the styles are applied to elements, see the previous XAML. For example, the last element has the `inlineText` style, and the last element uses the default style. diff --git a/dotnet-desktop-guide/framework/wpf/advanced/weak-event-patterns.md b/dotnet-desktop-guide/framework/wpf/advanced/weak-event-patterns.md index aba3e4a..18278c6 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/weak-event-patterns.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/weak-event-patterns.md @@ -130,4 +130,4 @@ In applications, it is possible that handlers that are attached to event sources - - - [Routed Events Overview](routed-events-overview.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](../data/data-binding-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/wpf-architecture.md b/dotnet-desktop-guide/framework/wpf/advanced/wpf-architecture.md index b8554c8..9256ee6 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/wpf-architecture.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/wpf-architecture.md @@ -145,6 +145,6 @@ This topic provides a guided tour of the Windows Presentation Foundation (WPF) c - - - -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](../data/data-binding-overview.md) - [Layout](layout.md) - [Animation Overview](../graphics-multimedia/animation-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/wpf-globalization-and-localization-overview.md b/dotnet-desktop-guide/framework/wpf/advanced/wpf-globalization-and-localization-overview.md index 2376185..1b03e46 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/wpf-globalization-and-localization-overview.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/wpf-globalization-and-localization-overview.md @@ -38,7 +38,7 @@ When you design a [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-w - Enable on to avoid clipping. -- Set the `xml:lang` attribute. This attribute describes the culture of a specific element and its child elements. The value of this property changes the behavior of several features in [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)]. For example, it changes the behavior of hyphenation, spell checking, number substitution, complex script shaping, and font fallback. See [Globalization for WPF](globalization-for-wpf.md) for more information about setting the [xml:lang Handling in XAML](/dotnet/desktop-wpf/xaml-services/xml-language-handling). +- Set the `xml:lang` attribute. This attribute describes the culture of a specific element and its child elements. The value of this property changes the behavior of several features in [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)]. For example, it changes the behavior of hyphenation, spell checking, number substitution, complex script shaping, and font fallback. See [Globalization for WPF](globalization-for-wpf.md) for more information about setting the [xml:lang Handling in XAML](/dotnet/desktop/xaml-services/xml-language-handling). - Create a customized composite font to obtain better control of fonts that are used for different languages. By default, [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] uses the GlobalUserInterface.composite font in your Windows\Fonts directory. @@ -144,7 +144,7 @@ Note that of the example uses the shared-sizing feature of or the generic equivalent (). -- Derives from (for more information about arrays in XAML, see [x:Array Markup Extension](/dotnet/desktop-wpf/xaml-services/xarray-markup-extension).) +- Derives from (for more information about arrays in XAML, see [x:Array Markup Extension](/dotnet/desktop/xaml-services/xarray-markup-extension).) - Implements (an interface defined by [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)]). @@ -106,7 +106,7 @@ XAML as implemented in common language runtime (CLR) frameworks supports the abi ## See also -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [XAML in WPF](xaml-in-wpf.md) - [Custom Dependency Properties](custom-dependency-properties.md) - [Control Authoring Overview](../controls/control-authoring-overview.md) - [Base Elements Overview](base-elements-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/xaml-in-wpf.md b/dotnet-desktop-guide/framework/wpf/advanced/xaml-in-wpf.md index fe0414a..6115147 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/xaml-in-wpf.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/xaml-in-wpf.md @@ -14,7 +14,7 @@ ms.assetid: 5d858575-a83b-42df-ad3f-047ed2d6e3c8 ## In This Section -[XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +[XAML in WPF](xaml-in-wpf.md) [XAML Syntax In Detail](xaml-syntax-in-detail.md) [Code-Behind and XAML in WPF](code-behind-and-xaml-in-wpf.md) [XAML and Custom Classes for WPF](xaml-and-custom-classes-for-wpf.md) @@ -22,10 +22,10 @@ ms.assetid: 5d858575-a83b-42df-ad3f-047ed2d6e3c8 [XAML Namespaces and Namespace Mapping for WPF XAML](xaml-namespaces-and-namespace-mapping-for-wpf-xaml.md) [WPF XAML Namescopes](wpf-xaml-namescopes.md) [Inline Styles and Templates](inline-styles-and-templates.md) -[White-space Processing in XAML](/dotnet/desktop-wpf/xaml-services/white-space-processing) +[White-space Processing in XAML](/dotnet/desktop/xaml-services/white-space-processing) [TypeConverters and XAML](typeconverters-and-xaml.md) -[XML Character Entities and XAML](/dotnet/desktop-wpf/xaml-services/xml-character-entities) -[XAML Namespace (x:) Language Features](/dotnet/desktop-wpf/xaml-services/namespace-language-features) +[XML Character Entities and XAML](/dotnet/desktop/xaml-services/xml-character-entities) +[XAML Namespace (x:) Language Features](/dotnet/desktop/xaml-services/namespace-language-features) [WPF XAML Extensions](wpf-xaml-extensions.md) [Markup Compatibility (mc:) Language Features](markup-compatibility-mc-language-features.md) @@ -38,5 +38,5 @@ ms.assetid: 5d858575-a83b-42df-ad3f-047ed2d6e3c8 [Events](events-wpf.md) [Input](input-wpf.md) [Resources](resources-wpf.md) -[Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +[Styling and Templating](../controls/styles-templates-overview.md) [Threading Model](threading-model.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/xaml-loading-and-dependency-properties.md b/dotnet-desktop-guide/framework/wpf/advanced/xaml-loading-and-dependency-properties.md index d75ba50..4949d5c 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/xaml-loading-and-dependency-properties.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/xaml-loading-and-dependency-properties.md @@ -15,7 +15,7 @@ The current [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclie ## Prerequisites - This topic assumes that you understand dependency properties both as consumer and author and have read [Dependency Properties Overview](dependency-properties-overview.md) and [Custom Dependency Properties](custom-dependency-properties.md). You should also have read [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) and [XAML Syntax In Detail](xaml-syntax-in-detail.md). + This topic assumes that you understand dependency properties both as consumer and author and have read [Dependency Properties Overview](dependency-properties-overview.md) and [Custom Dependency Properties](custom-dependency-properties.md). You should also have read [XAML in WPF](xaml-in-wpf.md) and [XAML Syntax In Detail](xaml-syntax-in-detail.md). ## The WPF XAML Loader Implementation, and Performance @@ -37,7 +37,7 @@ The current [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclie ## See also - [Dependency Properties Overview](dependency-properties-overview.md) -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [XAML in WPF](xaml-in-wpf.md) - [Dependency Property Metadata](dependency-property-metadata.md) - [Collection-Type Dependency Properties](collection-type-dependency-properties.md) - [Dependency Property Security](dependency-property-security.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml.md b/dotnet-desktop-guide/framework/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml.md index 2213f0e..1ce8db2 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml.md @@ -38,7 +38,7 @@ This topic further explains the presence and purpose of the two XAML namespace m The relationship between these declarations is that the `x:` prefix mapping supports the intrinsics that are part of the XAML language definition, and [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] is one implementation that uses XAML as a language and defines a vocabulary of its objects for XAML. Because the WPF vocabulary's usages will be far more common than the XAML intrinsics usages, the WPF vocabulary is mapped as the default. - The `x:` prefix convention for mapping the XAML language intrinsics support is followed by project templates, sample code, and the documentation of language features within this SDK. The XAML namespace defines many commonly-used features that are necessary even for basic WPF applications. For instance, in order to join any code-behind to a XAML file through a partial class, you must name that class as the `x:Class` attribute in the root element of the relevant XAML file. Or, any element as defined in a XAML page that you wish to access as a keyed resource should have the `x:Key` attribute set on the element in question. For more information on these and other aspects of XAML see [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) or [XAML Syntax In Detail](xaml-syntax-in-detail.md). + The `x:` prefix convention for mapping the XAML language intrinsics support is followed by project templates, sample code, and the documentation of language features within this SDK. The XAML namespace defines many commonly-used features that are necessary even for basic WPF applications. For instance, in order to join any code-behind to a XAML file through a partial class, you must name that class as the `x:Class` attribute in the root element of the relevant XAML file. Or, any element as defined in a XAML page that you wish to access as a keyed resource should have the `x:Key` attribute set on the element in question. For more information on these and other aspects of XAML see [XAML in WPF](xaml-in-wpf.md) or [XAML Syntax In Detail](xaml-syntax-in-detail.md). @@ -145,4 +145,4 @@ End Namespace ## See also - [Understanding XML Namespaces](/previous-versions/aa468565(v=msdn.10)) -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [XAML in WPF](xaml-in-wpf.md) diff --git a/dotnet-desktop-guide/framework/wpf/advanced/xaml-syntax-in-detail.md b/dotnet-desktop-guide/framework/wpf/advanced/xaml-syntax-in-detail.md index 655e821..820c3b5 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/xaml-syntax-in-detail.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/xaml-syntax-in-detail.md @@ -33,7 +33,7 @@ helpviewer_keywords: ms.assetid: 67cce290-ca26-4c41-a797-b68aabc45479 --- # XAML Syntax In Detail -This topic defines the terms that are used to describe the elements of XAML syntax. These terms are used frequently throughout the remainder of this documentation, both for WPF documentation specifically and for the other frameworks that use XAML or the basic XAML concepts enabled by the XAML language support at the System.Xaml level. This topic expands on the basic terminology introduced in the topic [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml). +This topic defines the terms that are used to describe the elements of XAML syntax. These terms are used frequently throughout the remainder of this documentation, both for WPF documentation specifically and for the other frameworks that use XAML or the basic XAML concepts enabled by the XAML language support at the System.Xaml level. This topic expands on the basic terminology introduced in the topic [XAML in WPF](xaml-in-wpf.md). ## The XAML Language Specification @@ -82,7 +82,7 @@ This topic defines the terms that are used to describe the elements of XAML synt Attribute syntax is the XAML markup syntax that sets a value for a property by declaring an attribute on an existing object element. The attribute name must match the CLR member name of the property of the class that backs the relevant object element. The attribute name is followed by an assignment operator (=). The attribute value must be a string enclosed within quotes. > [!NOTE] -> You can use alternating quotes to place a literal quotation mark within an attribute. For instance you can use single quotes as a means to declare a string that contains a double quote character within it. Whether you use single or double quotes, you should use a matching pair for opening and closing the attribute value string. There are also escape sequences or other techniques available for working around character restrictions imposed by any particular XAML syntax. See [XML Character Entities and XAML](/dotnet/desktop-wpf/xaml-services/xml-character-entities). +> You can use alternating quotes to place a literal quotation mark within an attribute. For instance you can use single quotes as a means to declare a string that contains a double quote character within it. Whether you use single or double quotes, you should use a matching pair for opening and closing the attribute value string. There are also escape sequences or other techniques available for working around character restrictions imposed by any particular XAML syntax. See [XML Character Entities and XAML](/dotnet/desktop/xaml-services/xml-character-entities). In order to be set through attribute syntax, a property must be public and must be writeable. The value of the property in the backing type system must be a value type, or must be a reference type that can be instantiated or referenced by a XAML processor when accessing the relevant backing type. @@ -126,7 +126,7 @@ This topic defines the terms that are used to describe the elements of XAML synt You can also name any event from any object that is accessible through the default namespace by using a *typeName*.*event* partially qualified name; this syntax supports attaching handlers for routed events where the handler is intended to handle events routing from child elements, but the parent element does not also have that event in its members table. This syntax resembles an attached event syntax, but the event here is not a true attached event. Instead, you are referencing an event with a qualified name. For more information, see [Routed Events Overview](routed-events-overview.md). - For some scenarios, property names are sometimes provided as the value of an attribute, rather than the attribute name. That property name can also include qualifiers, such as the property specified in the form *ownerType*.*dependencyPropertyName*. This scenario is common when writing styles or templates in XAML. The processing rules for property names provided as an attribute value are different, and are governed by the type of the property being set or by the behaviors of particular WPF subsystems. For details, see [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview). + For some scenarios, property names are sometimes provided as the value of an attribute, rather than the attribute name. That property name can also include qualifiers, such as the property specified in the form *ownerType*.*dependencyPropertyName*. This scenario is common when writing styles or templates in XAML. The processing rules for property names provided as an attribute value are different, and are governed by the type of the property being set or by the behaviors of particular WPF subsystems. For details, see [Styling and Templating](../controls/styles-templates-overview.md). Another usage for property names is when an attribute value describes a property-property relationship. This feature is used for data binding and for storyboard targets, and is enabled by the class and its type converter. For a more complete description of the lookup semantics, see [PropertyPath XAML Syntax](propertypath-xaml-syntax.md). @@ -140,7 +140,7 @@ This topic defines the terms that are used to describe the elements of XAML synt [!code-xaml[XAMLOvwSupport#ContextMenu](~/samples/snippets/csharp/VS_Snippets_Wpf/XAMLOvwSupport/CSharp/Page1.xaml#contextmenu)] - The value within a property element can also be given as inner text, in cases where the property type being specified is a primitive value type, such as , or an enumeration where a name is specified. These two usages are somewhat uncommon, because each of these cases could also use a simpler attribute syntax. One scenario for filling a property element with a string is for properties that are not the XAML content property but still are used for representation of UI text, and particular white-space elements such as linefeeds are required to appear in that UI text. Attribute syntax cannot preserve linefeeds, but property element syntax can, so long as significant white-space preservation is active (for details, see [White space processing in XAML](/dotnet/desktop-wpf/xaml-services/white-space-processing)). Another scenario is so that [x:Uid Directive](/dotnet/desktop-wpf/xaml-services/xuid-directive) can be applied to the property element and thus mark the value within as a value that should be localized in the WPF output BAML or by other techniques. + The value within a property element can also be given as inner text, in cases where the property type being specified is a primitive value type, such as , or an enumeration where a name is specified. These two usages are somewhat uncommon, because each of these cases could also use a simpler attribute syntax. One scenario for filling a property element with a string is for properties that are not the XAML content property but still are used for representation of UI text, and particular white-space elements such as linefeeds are required to appear in that UI text. Attribute syntax cannot preserve linefeeds, but property element syntax can, so long as significant white-space preservation is active (for details, see [White space processing in XAML](/dotnet/desktop/xaml-services/white-space-processing)). Another scenario is so that [x:Uid Directive](/dotnet/desktop/xaml-services/xuid-directive) can be applied to the property element and thus mark the value within as a value that should be localized in the WPF output BAML or by other techniques. A property element is not represented in the WPF logical tree. A property element is just a particular syntax for setting a property, and is not an element that has an instance or object backing it. (For details on the logical tree concept, see [Trees in WPF](trees-in-wpf.md).) @@ -154,7 +154,7 @@ This topic defines the terms that are used to describe the elements of XAML synt - Type implements . -- Type derives from (for more information about arrays in XAML, see [x:Array Markup Extension](/dotnet/desktop-wpf/xaml-services/xarray-markup-extension).) +- Type derives from (for more information about arrays in XAML, see [x:Array Markup Extension](/dotnet/desktop/xaml-services/xarray-markup-extension).) If the type of a property is a collection, then the inferred collection type does not need to be specified in the markup as an object element. Instead, the elements that are intended to become the items in the collection are specified as one or more child elements of the property element. Each such item is evaluated to an object during loading and added to the collection by calling the `Add` method of the implied collection. For example, the property of takes the specialized collection type , which implements . It is not necessary to instantiate a object element in the markup. Instead, you specify one or more items as elements within the `Style.Triggers` property element, where (or a derived class) is the type expected as the item type for the strongly typed and implicit . @@ -250,9 +250,9 @@ This topic defines the terms that are used to describe the elements of XAML synt `` - Here, `StaticResource` identifies the class providing the markup extension implementation. The next string `MyStyle` is used as the input for the non-default constructor, where the parameter as taken from the extension string declares the requested . `MyStyle` is expected to be the [x:Key](/dotnet/desktop-wpf/xaml-services/xkey-directive) value of a defined as a resource. The [StaticResource Markup Extension](staticresource-markup-extension.md) usage requests that the resource be used to provide the property value through static resource lookup logic at load time. + Here, `StaticResource` identifies the class providing the markup extension implementation. The next string `MyStyle` is used as the input for the non-default constructor, where the parameter as taken from the extension string declares the requested . `MyStyle` is expected to be the [x:Key](/dotnet/desktop/xaml-services/xkey-directive) value of a defined as a resource. The [StaticResource Markup Extension](staticresource-markup-extension.md) usage requests that the resource be used to provide the property value through static resource lookup logic at load time. - For more information about markup extensions, see [Markup Extensions and WPF XAML](markup-extensions-and-wpf-xaml.md). For a reference of markup extensions and other XAML programming features enabled in the general .NET XAML implementation, see [XAML Namespace (x:) Language Features](/dotnet/desktop-wpf/xaml-services/namespace-language-features). For WPF-specific markup extensions, see [WPF XAML Extensions](wpf-xaml-extensions.md). + For more information about markup extensions, see [Markup Extensions and WPF XAML](markup-extensions-and-wpf-xaml.md). For a reference of markup extensions and other XAML programming features enabled in the general .NET XAML implementation, see [XAML Namespace (x:) Language Features](/dotnet/desktop/xaml-services/namespace-language-features). For WPF-specific markup extensions, see [WPF XAML Extensions](wpf-xaml-extensions.md). ## Attached Properties @@ -311,8 +311,8 @@ This topic defines the terms that are used to describe the elements of XAML synt ## See also -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) -- [XAML Namespace (x:) Language Features](/dotnet/desktop-wpf/xaml-services/namespace-language-features) +- [XAML in WPF](xaml-in-wpf.md) +- [XAML Namespace (x:) Language Features](/dotnet/desktop/xaml-services/namespace-language-features) - [WPF XAML Extensions](wpf-xaml-extensions.md) - [Dependency Properties Overview](dependency-properties-overview.md) - [TypeConverters and XAML](typeconverters-and-xaml.md) diff --git a/dotnet-desktop-guide/framework/wpf/app-development/deploying-a-wpf-application-wpf.md b/dotnet-desktop-guide/framework/wpf/app-development/deploying-a-wpf-application-wpf.md index 7b0d1e5..17e87ea 100644 --- a/dotnet-desktop-guide/framework/wpf/app-development/deploying-a-wpf-application-wpf.md +++ b/dotnet-desktop-guide/framework/wpf/app-development/deploying-a-wpf-application-wpf.md @@ -94,7 +94,7 @@ After Windows Presentation Foundation (WPF) applications are built, they need to Markup-only [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] pages can be installed to the local file system by using either XCopy or Windows Installer. These pages can be viewed using Internet Explorer or Windows Explorer. - For more information about XAML, see [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml). + For more information about XAML, see [XAML in WPF](../advanced/xaml-in-wpf.md). diff --git a/dotnet-desktop-guide/framework/wpf/app-development/navigation-overview.md b/dotnet-desktop-guide/framework/wpf/app-development/navigation-overview.md index 9d31b7e..1fa2743 100644 --- a/dotnet-desktop-guide/framework/wpf/app-development/navigation-overview.md +++ b/dotnet-desktop-guide/framework/wpf/app-development/navigation-overview.md @@ -738,7 +738,7 @@ Like , navigating to HTML using with content that is bound to those objects (see [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview)). If you don't need the overhead of creating an entire page just to display the objects, you can navigate directly to them instead. +If you have data that is stored as custom objects, one way to display that data is to create a with content that is bound to those objects (see [Data Binding Overview](../data/data-binding-overview.md)). If you don't need the overhead of creating an entire page just to display the objects, you can navigate directly to them instead. Consider the `Person` class that is implemented in the following code. diff --git a/dotnet-desktop-guide/framework/wpf/app-development/pack-uris-in-wpf.md b/dotnet-desktop-guide/framework/wpf/app-development/pack-uris-in-wpf.md index c341a65..7f63e15 100644 --- a/dotnet-desktop-guide/framework/wpf/app-development/pack-uris-in-wpf.md +++ b/dotnet-desktop-guide/framework/wpf/app-development/pack-uris-in-wpf.md @@ -452,7 +452,7 @@ Resource dictionaries () can be used to [!code-xaml[ResourceDictionarySnippets#ResourceDictionaryPackURI](~/samples/snippets/csharp/VS_Snippets_Wpf/ResourceDictionarySnippets/CS/App.xaml#resourcedictionarypackuri)] -For an overview of themes in WPF, see [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview). +For an overview of themes in WPF, see [Styling and Templating](../controls/styles-templates-overview.md). ## See also diff --git a/dotnet-desktop-guide/framework/wpf/controls/button-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/button-styles-and-templates.md index d933eba..9190e0d 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/button-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/button-styles-and-templates.md @@ -12,7 +12,7 @@ helpviewer_keywords: ms.assetid: e223c759-f8c4-4717-acfb-b1e40bdf5f3b --- # Button Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## Button Parts The control does not have any named parts. @@ -49,5 +49,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/calendar-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/calendar-styles-and-templates.md index cbc3823..6c35df0 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/calendar-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/calendar-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: f4fcf046-7a8f-41b8-b5a8-534b64e0345c --- # Calendar Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## Calendar Parts The following table lists the named parts for the control. @@ -127,5 +127,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/calendar.md b/dotnet-desktop-guide/framework/wpf/controls/calendar.md index d1c31c9..1cd8184 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/calendar.md +++ b/dotnet-desktop-guide/framework/wpf/controls/calendar.md @@ -48,4 +48,4 @@ Calendar controls ## See also - [Controls](index.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Styling and Templating](styles-templates-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/checkbox-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/checkbox-styles-and-templates.md index 6fd299d..9fcb34f 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/checkbox-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/checkbox-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: bfdaec96-d101-4d3d-864d-c27e6b621d03 --- # CheckBox Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## CheckBox Parts The control does not have any named parts. @@ -51,5 +51,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/combobox-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/combobox-styles-and-templates.md index 7588ee0..c0c4a73 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/combobox-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/combobox-styles-and-templates.md @@ -12,7 +12,7 @@ helpviewer_keywords: ms.assetid: b0662fa1-16d7-4320-b26b-c1804e565a44 --- # ComboBox Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## ComboBox Parts The following table lists the named parts for the control. @@ -78,5 +78,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/contextmenu-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/contextmenu-styles-and-templates.md index 9dc6a70..f02352a 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/contextmenu-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/contextmenu-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: 342d1f17-c406-4f94-8f55-867c5f3ea511 --- # ContextMenu Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## ContextMenu Parts The control does not have any named parts. @@ -44,5 +44,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/control-authoring-overview.md b/dotnet-desktop-guide/framework/wpf/controls/control-authoring-overview.md index 293b18a..ce16b4a 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/control-authoring-overview.md +++ b/dotnet-desktop-guide/framework/wpf/controls/control-authoring-overview.md @@ -34,7 +34,7 @@ Historically, if you wanted to get a customized experience from an existing cont - **Triggers.** A allows you to dynamically change the appearance and behavior of a control without creating a new control. For example, suppose you have multiple controls in your application and want the items in each to be bold and red when they are selected. Your first instinct might be to create a class that inherits from and override the method to change the appearance of the selected item, but a better approach is to add a trigger to a style of a that changes the appearance of the selected item. A trigger enables you to change property values or take actions based on the value of a property. An enables you to take actions when an event occurs. -For more information about styles, templates, and triggers, see [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview). +For more information about styles, templates, and triggers, see [Styling and Templating](styles-templates-overview.md). In general, if your control mirrors the functionality of an existing control, but you want the control to look different, you should first consider whether you can use any of the methods discussed in this section to change the existing control's appearance. @@ -179,7 +179,7 @@ The following example uses binding to accomplish the same thing. [!code-xaml[UserControlNumericUpDown#Binding](~/samples/snippets/csharp/VS_Snippets_Wpf/UserControlNumericUpDown/CSharp/NumericUpDown.xaml#binding)] -For more information about data binding, see [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). +For more information about data binding, see [Data Binding Overview](../data/data-binding-overview.md). ### Design for Designers diff --git a/dotnet-desktop-guide/framework/wpf/controls/control-customization.md b/dotnet-desktop-guide/framework/wpf/controls/control-customization.md index 6434431..922418d 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/control-customization.md +++ b/dotnet-desktop-guide/framework/wpf/controls/control-customization.md @@ -20,4 +20,4 @@ This category covers the various base classes, interfaces and other elements and ## See also -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Styling and Templating](styles-templates-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/control-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/control-styles-and-templates.md index aa81cee..0b03e29 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/control-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/control-styles-and-templates.md @@ -70,4 +70,4 @@ Controls in Windows Presentation Foundation (WPF) have a for an existing control, are familiar with what the elements on a control contract are, and understand the concepts discussed in [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic assumes that you know how to create a new for an existing control, are familiar with what the elements on a control contract are, and understand the concepts discussed in [Create a template for a control](how-to-create-apply-template.md). > [!NOTE] > To create a control that can have its appearance customized, you must create a control that inherits from the class or one of its subclasses other than . A control that inherits from is a control that can be quickly created, but it does not use a and you cannot customize its appearance. @@ -71,7 +71,7 @@ When you define the visual structure and visual behavior in the instead of in its logic. The visual structure of a control is the composite of objects that make up the control. The visual behavior is the way the control appears when it is in a certain state. For more information about creating a that specifies the visual structure and visual behavior of a control, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +When you create your custom control by using the parts and states model, you define the control's visual structure and visual behavior in its instead of in its logic. The visual structure of a control is the composite of objects that make up the control. The visual behavior is the way the control appears when it is in a certain state. For more information about creating a that specifies the visual structure and visual behavior of a control, see [Create a template for a control](how-to-create-apply-template.md). In the example of the `NumericUpDown` control, the visual structure includes two controls and a . If you add these controls in the code of the `NumericUpDown` control--in its constructor, for example--the positions of those controls would be unalterable. Instead of defining the control's visual structure and visual behavior in its code, you should define it in the . Then an application developer to customize the position of the buttons and and specify what behavior occurs when `Value` is negative because the can be replaced. @@ -79,7 +79,7 @@ The following example shows the visual structure of the `NumericUpDown` control, [!code-xaml[VSMCustomControl#VisualStructure](~/samples/snippets/csharp/VS_Snippets_Wpf/vsmcustomcontrol/csharp/window1.xaml#visualstructure)] -A visual behavior of the `NumericUpDown` control is that the value is in a red font if it is negative. If you change the of the in code when the `Value` is negative, the `NumericUpDown` will always show a red negative value. You specify the visual behavior of the control in the by adding objects to the . The following example shows the objects for the `Positive` and `Negative` states. `Positive` and `Negative` are mutually exclusive (the control is always in exactly one of the two), so the example puts the objects into a single . When the control goes into the `Negative` state, the of the turns red. When the control is in the `Positive` state, the returns to its original value. Defining objects in a is further discussed in [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +A visual behavior of the `NumericUpDown` control is that the value is in a red font if it is negative. If you change the of the in code when the `Value` is negative, the `NumericUpDown` will always show a red negative value. You specify the visual behavior of the control in the by adding objects to the . The following example shows the objects for the `Positive` and `Negative` states. `Positive` and `Negative` are mutually exclusive (the control is always in exactly one of the two), so the example puts the objects into a single . When the control goes into the `Negative` state, the of the turns red. When the control is in the `Positive` state, the returns to its original value. Defining objects in a is further discussed in [Create a template for a control](how-to-create-apply-template.md). > [!NOTE] > Be sure to set the attached property on the root of the . @@ -249,5 +249,5 @@ The following example shows the logic for the `NumericUpDown`. ## See also -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Create a template for a control](how-to-create-apply-template.md) - [Control Customization](control-customization.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/datagrid-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/datagrid-styles-and-templates.md index 61df83d..7ba9c36 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/datagrid-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/datagrid-styles-and-templates.md @@ -12,7 +12,7 @@ helpviewer_keywords: ms.assetid: 9cb31d63-f148-4d25-b079-816e73f988c7 --- # DataGrid Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## DataGrid Parts The following table lists the named parts for the control. @@ -170,5 +170,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/datagrid.md b/dotnet-desktop-guide/framework/wpf/controls/datagrid.md index b275235..cb0877d 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/datagrid.md +++ b/dotnet-desktop-guide/framework/wpf/controls/datagrid.md @@ -54,8 +54,8 @@ The control enables you to display and e ## See also - -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Styling and Templating](styles-templates-overview.md) +- [Data Binding Overview](../data/data-binding-overview.md) - [Data Templating Overview](../data/data-templating-overview.md) - [Controls](index.md) - [WPF Content Model](wpf-content-model.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/datepicker-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/datepicker-styles-and-templates.md index 7830326..db8a8e9 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/datepicker-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/datepicker-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: c430a657-692f-44bd-a549-2341f92d6115 --- # DatePicker Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## DatePicker Parts The following table lists the named parts for the control. @@ -76,5 +76,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/datepicker.md b/dotnet-desktop-guide/framework/wpf/controls/datepicker.md index 386c13a..828338b 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/datepicker.md +++ b/dotnet-desktop-guide/framework/wpf/controls/datepicker.md @@ -21,4 +21,4 @@ DatePicker Control ## See also - [Controls](index.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Styling and Templating](styles-templates-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/documentviewer-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/documentviewer-styles-and-templates.md index de9b6c4..7ff5bf5 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/documentviewer-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/documentviewer-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: 6bd4ff8f-ea6a-4084-ac58-e7a67446ce1c --- # DocumentViewer Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## DocumentViewer Parts The following table lists the named parts for the control. @@ -47,5 +47,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/expander-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/expander-styles-and-templates.md index d50f91b..8361c7a 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/expander-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/expander-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: da2e5a1c-5230-4c21-98a5-59c7895facd7 --- # Expander Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## Expander Parts The control does not have any named parts. @@ -53,5 +53,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/frame-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/frame-styles-and-templates.md index 01aa14d..db8c36a 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/frame-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/frame-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: a01c32e2-c951-46a0-a82f-2614ca241f0b --- # Frame Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## Frame Parts The following table lists the named parts for the control. @@ -46,5 +46,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/groupbox-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/groupbox-styles-and-templates.md index 10d31cb..e1c203c 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/groupbox-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/groupbox-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: 33df7037-0a1b-476f-b9d0-41566a777699 --- # GroupBox Styles and Templates - This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). + This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## GroupBox Parts @@ -45,5 +45,5 @@ ms.assetid: 33df7037-0a1b-476f-b9d0-41566a777699 - - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/guidelines-for-designing-stylable-controls.md b/dotnet-desktop-guide/framework/wpf/controls/guidelines-for-designing-stylable-controls.md index c4d3a03..d44ceb1 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/guidelines-for-designing-stylable-controls.md +++ b/dotnet-desktop-guide/framework/wpf/controls/guidelines-for-designing-stylable-controls.md @@ -24,7 +24,7 @@ This document summarizes a set of best practices to consider when designing a co - Data templates. -For an introduction to styling and templating, see [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview). +For an introduction to styling and templating, see [Styling and Templating](styles-templates-overview.md). @@ -121,5 +121,5 @@ To understand your control's common usage, it's good to think about the value pr ## See also -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Styling and Templating](styles-templates-overview.md) - [Control Authoring Overview](control-authoring-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/how-to-add-row-details-to-a-datagrid-control.md b/dotnet-desktop-guide/framework/wpf/controls/how-to-add-row-details-to-a-datagrid-control.md index a25f240..9c126f2 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/how-to-add-row-details-to-a-datagrid-control.md +++ b/dotnet-desktop-guide/framework/wpf/controls/how-to-add-row-details-to-a-datagrid-control.md @@ -47,7 +47,7 @@ When using the control, you can customiz [!code-xaml[DataGrid_RowDetails#3](~/samples/snippets/csharp/VS_Snippets_Wpf/datagrid_rowdetails/cs/app.xaml#3)] -4. On the , set the [x:Key Directive](/dotnet/desktop-wpf/xaml-services/xkey-directive) to a value that uniquely identifies the data template. +4. On the , set the [x:Key Directive](/dotnet/desktop/xaml-services/xkey-directive) to a value that uniquely identifies the data template. 5. In the element, set the property to the resource defined in the previous steps. Assign the resource as a static resource. diff --git a/dotnet-desktop-guide/framework/wpf/controls/how-to-bind-a-treeview-to-data-that-has-an-indeterminable-depth.md b/dotnet-desktop-guide/framework/wpf/controls/how-to-bind-a-treeview-to-data-that-has-an-indeterminable-depth.md index f250282..3979df5 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/how-to-bind-a-treeview-to-data-that-has-an-indeterminable-depth.md +++ b/dotnet-desktop-guide/framework/wpf/controls/how-to-bind-a-treeview-to-data-that-has-an-indeterminable-depth.md @@ -21,5 +21,5 @@ There might be times when you want to bind a con [!code-csharp[DataGrid_GroupSortFilter#101](~/samples/snippets/csharp/VS_Snippets_Wpf/DataGrid_GroupSortFilter/CS/MainWindow.xaml.cs#101)] [!code-vb[DataGrid_GroupSortFilter#101](~/samples/snippets/visualbasic/VS_Snippets_Wpf/DataGrid_GroupSortFilter/VB/MainWindow.xaml.vb#101)] -2. In XAML, create an instance of the collection class and set the [x:Key Directive](/dotnet/desktop-wpf/xaml-services/xkey-directive). +2. In XAML, create an instance of the collection class and set the [x:Key Directive](/dotnet/desktop/xaml-services/xkey-directive). -3. In XAML, create an instance of the class, set the [x:Key Directive](/dotnet/desktop-wpf/xaml-services/xkey-directive), and set the instance of your collection class as the . +3. In XAML, create an instance of the class, set the [x:Key Directive](/dotnet/desktop/xaml-services/xkey-directive), and set the instance of your collection class as the . [!code-xaml[DataGrid_GroupSortFilter#201](~/samples/snippets/csharp/VS_Snippets_Wpf/DataGrid_GroupSortFilter/CS/WindowSnips1.xaml#201)] @@ -142,7 +142,7 @@ To test this example, you will need to adjust the DGGroupSortFilterExample name ## See also -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](../data/data-binding-overview.md) - [Create and Bind to an ObservableCollection](../data/how-to-create-and-bind-to-an-observablecollection.md) - [Filter Data in a View](../data/how-to-filter-data-in-a-view.md) - [Sort Data in a View](../data/how-to-sort-data-in-a-view.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/how-to-handle-the-mousedoubleclick-event-for-each-item-in-a-listview.md b/dotnet-desktop-guide/framework/wpf/controls/how-to-handle-the-mousedoubleclick-event-for-each-item-in-a-listview.md index 10dd77a..f33ead9 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/how-to-handle-the-mousedoubleclick-event-for-each-item-in-a-listview.md +++ b/dotnet-desktop-guide/framework/wpf/controls/how-to-handle-the-mousedoubleclick-event-for-each-item-in-a-listview.md @@ -29,7 +29,7 @@ To handle an event for an item in a , you ## See also - -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Data Binding Overview](../data/data-binding-overview.md) +- [Styling and Templating](styles-templates-overview.md) - [Bind to XML Data Using an XMLDataProvider and XPath Queries](../data/how-to-bind-to-xml-data-using-an-xmldataprovider-and-xpath-queries.md) - [ListView Overview](listview-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/how-to-implement-validation-with-the-datagrid-control.md b/dotnet-desktop-guide/framework/wpf/controls/how-to-implement-validation-with-the-datagrid-control.md index 6581280..b6b0221 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/how-to-implement-validation-with-the-datagrid-control.md +++ b/dotnet-desktop-guide/framework/wpf/controls/how-to-implement-validation-with-the-datagrid-control.md @@ -17,7 +17,7 @@ The control enables you to perform valid ### To validate individual cell values -- Specify one or more validation rules on the binding used with a column. This is similar to validating data in simple controls, as described in [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). +- Specify one or more validation rules on the binding used with a column. This is similar to validating data in simple controls, as described in [Data Binding Overview](../data/data-binding-overview.md). The following example shows a control with four columns bound to different properties of a business object. Three of the columns specify the by setting the property to `true`. @@ -89,6 +89,6 @@ The control enables you to perform valid - - [DataGrid](datagrid.md) -- [Data Binding](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding](../data/data-binding-overview.md) - [Implement Binding Validation](../data/how-to-implement-binding-validation.md) - [Implement Validation Logic on Custom Objects](../data/how-to-implement-validation-logic-on-custom-objects.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/how-to-set-the-text-content-of-a-textbox-control.md b/dotnet-desktop-guide/framework/wpf/controls/how-to-set-the-text-content-of-a-textbox-control.md index a3d6786..47b50f0 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/how-to-set-the-text-content-of-a-textbox-control.md +++ b/dotnet-desktop-guide/framework/wpf/controls/how-to-set-the-text-content-of-a-textbox-control.md @@ -15,7 +15,7 @@ ms.assetid: bcd25fc7-a52f-4453-b802-2c8d2b335ab8 This example shows how to use the property to set the initial text contents of a control. > [!NOTE] -> Although the [!INCLUDE[TLA#tla_xaml](../../../includes/tlasharptla-xaml-md.md)] version of the example could use the `` tags around the text of each button's content, it is not necessary because the applies the attribute to the property. For more information, see [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml). +> Although the [!INCLUDE[TLA#tla_xaml](../../../includes/tlasharptla-xaml-md.md)] version of the example could use the `` tags around the text of each button's content, it is not necessary because the applies the attribute to the property. For more information, see [XAML in WPF](../advanced/xaml-in-wpf.md). ## Example diff --git a/dotnet-desktop-guide/framework/wpf/controls/how-to-style-a-row-in-a-listview-that-implements-a-gridview.md b/dotnet-desktop-guide/framework/wpf/controls/how-to-style-a-row-in-a-listview-that-implements-a-gridview.md index 37ad1b3..e407225 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/how-to-style-a-row-in-a-listview-that-implements-a-gridview.md +++ b/dotnet-desktop-guide/framework/wpf/controls/how-to-style-a-row-in-a-listview-that-implements-a-gridview.md @@ -33,4 +33,4 @@ This example shows how to style a row in a - [How-to Topics](listview-how-to-topics.md) - [ListView Overview](listview-overview.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Styling and Templating](styles-templates-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/how-to-style-controls-on-a-toolbar.md b/dotnet-desktop-guide/framework/wpf/controls/how-to-style-controls-on-a-toolbar.md index e93a3fe..791d82e 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/how-to-style-controls-on-a-toolbar.md +++ b/dotnet-desktop-guide/framework/wpf/controls/how-to-style-controls-on-a-toolbar.md @@ -36,4 +36,4 @@ The defines allows you to set properties on multiple controls at a time, but sometimes you might want to customize the appearance of a beyond what you can do by creating a . Classes that inherit from the class have a , which defines the structure and appearance of a . The property of a is public, so you can give a a that is different than its default. You can often specify a new for a instead of inheriting from a control to customize the appearance of a . Consider the very common control, . The primary behavior of a is to enable an application to take some action when the user clicks it. By default, the in [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] appears as a raised rectangle. While developing an application, you might want to take advantage of the behavior of a --that is, by handling the button's click event--but you might change the button's appearance beyond what you can do by changing the button's properties. In this case, you can create a new . - The following example creates a for a . The creates a with rounded corners and a gradient background. The contains a whose is a with two objects. The first uses data binding to bind the property of the to the color of the button's background. When you set the property of the , the color of that value will be used as the first . For more information about data binding, see [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). The example also creates a that changes the appearance of the when is `true`. + The following example creates a for a . The creates a with rounded corners and a gradient background. The contains a whose is a with two objects. The first uses data binding to bind the property of the to the color of the button's background. When you set the property of the , the color of that value will be used as the first . For more information about data binding, see [Data Binding Overview](../data/data-binding-overview.md). The example also creates a that changes the appearance of the when is `true`. [!code-xaml[ControlsOverview#6](~/samples/snippets/csharp/VS_Snippets_Wpf/ControlsOverview/CSharp/Window1.xaml#6)] [!code-xaml[ControlsOverview#7](~/samples/snippets/csharp/VS_Snippets_Wpf/ControlsOverview/CSharp/AppInCode.xaml#7)] @@ -94,11 +94,11 @@ ms.assetid: 3f255a8a-35a8-4712-9065-472ff7d75599 ## See also -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Styling and Templating](styles-templates-overview.md) - [Controls by Category](controls-by-category.md) - [Control Library](control-library.md) - [Data Templating Overview](../data/data-templating-overview.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](../data/data-binding-overview.md) - [Input](../advanced/input-wpf.md) - [Enable a Command](../advanced/how-to-enable-a-command.md) - [Walkthroughs: Create a Custom Animated Button](walkthroughs-create-a-custom-animated-button.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/label-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/label-styles-and-templates.md index 8c33704..7dc858f 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/label-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/label-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: c1d5359a-8e4a-4925-ab3e-e92bf6694859 --- # Label Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## Label Parts The control does not have any named parts. @@ -42,5 +42,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/listbox-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/listbox-styles-and-templates.md index a943841..b0376c4 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/listbox-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/listbox-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: fc5764cb-c27b-495b-88d4-d969a8213ccb --- # ListBox Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## ListBox Parts The control does not have any named parts. @@ -64,5 +64,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/listview-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/listview-styles-and-templates.md index 5bd2fba..2b699c9 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/listview-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/listview-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: d2387356-2171-4785-822a-7247e024b4ee --- # ListView Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## ListView Parts The control does not have any named parts. @@ -64,5 +64,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/listview.md b/dotnet-desktop-guide/framework/wpf/controls/listview.md index 15ef88e..ec8ac21 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/listview.md +++ b/dotnet-desktop-guide/framework/wpf/controls/listview.md @@ -25,5 +25,5 @@ The control provides the infrastructure ## Related Sections - [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) + [Data Binding Overview](../data/data-binding-overview.md) [Data Templating Overview](../data/data-templating-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/menu-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/menu-styles-and-templates.md index 2e393ad..3378d63 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/menu-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/menu-styles-and-templates.md @@ -12,7 +12,7 @@ helpviewer_keywords: ms.assetid: b89da183-9b87-42c6-ac53-731a42c7b09e --- # Menu Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## Menu Parts The control does not have any named parts. @@ -71,5 +71,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/navigationwindow-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/navigationwindow-styles-and-templates.md index ac592c8..141b65b 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/navigationwindow-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/navigationwindow-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: 3656055e-3222-43c8-b868-fd0c90cc31a3 --- # NavigationWindow Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## NavigationWindow Parts The following table lists the named parts for the control. @@ -47,5 +47,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/passwordbox-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/passwordbox-styles-and-templates.md index 6ad5d3b..38397d5 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/passwordbox-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/passwordbox-styles-and-templates.md @@ -13,7 +13,7 @@ ms.assetid: deb52107-959f-4a60-b303-d21a0a933060 # PasswordBox Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## PasswordBox Parts @@ -56,5 +56,5 @@ For the complete sample, see [Styling with ControlTemplates Sample](https://gith - - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/progressbar-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/progressbar-styles-and-templates.md index edf6852..96b4e13 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/progressbar-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/progressbar-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: 935aa600-16e6-4947-a905-37a189a583dd --- # ProgressBar Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## ProgressBar Parts The following table lists the named parts for the control. @@ -50,5 +50,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/radiobutton-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/radiobutton-styles-and-templates.md index 6db601a..4ad0dc1 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/radiobutton-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/radiobutton-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: 9acf93f7-dd2f-4010-8ce0-1edd81c52ae2 --- # RadioButton Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## RadioButton Parts The control does not have any named parts. @@ -51,5 +51,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/repeatbutton-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/repeatbutton-styles-and-templates.md index d2a2f12..0c67daa 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/repeatbutton-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/repeatbutton-styles-and-templates.md @@ -13,7 +13,7 @@ ms.assetid: fd340743-f44f-4990-9077-085301469670 # RepeatButton Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## RepeatButton Parts @@ -53,5 +53,5 @@ For the complete sample, see [Styling with ControlTemplates Sample](https://gith - - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/scrollbar-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/scrollbar-styles-and-templates.md index 5c6fe3e..912a0b1 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/scrollbar-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/scrollbar-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: 066ea45a-e27d-43b0-adfe-cce6934c22f5 --- # ScrollBar Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## ScrollBar Parts The following table lists the named parts for the control. @@ -49,5 +49,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/scrollviewer-overview.md b/dotnet-desktop-guide/framework/wpf/controls/scrollviewer-overview.md index 946b8a4..ff9a763 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/scrollviewer-overview.md +++ b/dotnet-desktop-guide/framework/wpf/controls/scrollviewer-overview.md @@ -57,7 +57,7 @@ Content within a user interface is often larger than a computer screen's display ## Styling a ScrollViewer - Like all controls in Windows Presentation Foundation, the can be styled in order to change the default rendering behavior of the control. For additional information on control styling, see [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview). + Like all controls in Windows Presentation Foundation, the can be styled in order to change the default rendering behavior of the control. For additional information on control styling, see [Styling and Templating](styles-templates-overview.md). diff --git a/dotnet-desktop-guide/framework/wpf/controls/scrollviewer-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/scrollviewer-styles-and-templates.md index f642487..0bbb2d1 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/scrollviewer-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/scrollviewer-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: dffdd822-ae69-4946-abaf-710860cd65b2 --- # ScrollViewer Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## ScrollViewer Parts The following table lists the named parts for the control. @@ -48,5 +48,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/slider-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/slider-styles-and-templates.md index 85e6d30..2755c8d 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/slider-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/slider-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: d89aa97b-075a-4752-9c41-9679df65c491 --- # Slider Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## Slider Parts The following table lists the named parts for the control. @@ -52,5 +52,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/statusbar-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/statusbar-styles-and-templates.md index 7a005a2..040adda 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/statusbar-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/statusbar-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: 9f5e1c25-81eb-4756-a0ac-d9e1fbe33ee2 --- # StatusBar Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## StatusBar Parts The control does not have any named parts. @@ -54,5 +54,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/styles-and-templates.md index 080c76c..409bd74 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/styles-and-templates.md @@ -12,7 +12,7 @@ ms.assetid: 7fd571fd-d54a-40fc-b332-4c4015a5b6ff Windows Presentation Foundation (WPF) styling and templating refer to a suite of features (styles, templates, triggers, and storyboards) that allow an application, document, or user interface (UI) designer to create visually compelling applications and to standardize on a particular look for their product. ## In This Section - [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) + [Styling and Templating](styles-templates-overview.md) [How to: Find ControlTemplate-Generated Elements](how-to-find-controltemplate-generated-elements.md) ## Reference diff --git a/dotnet-desktop-guide/framework/wpf/controls/tabcontrol-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/tabcontrol-styles-and-templates.md index 6e0cd3e..8dda928 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/tabcontrol-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/tabcontrol-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: f6b19a30-f10e-4fa1-96ce-f17a54092ab6 --- # TabControl Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## TabControl Parts The following table lists the named parts for the control. @@ -69,5 +69,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/textbox-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/textbox-styles-and-templates.md index ce56e2a..261bfe2 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/textbox-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/textbox-styles-and-templates.md @@ -12,7 +12,7 @@ helpviewer_keywords: ms.assetid: aa99130c-43a1-450f-9b46-c40ae0db0cca --- # TextBox Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## TextBox Parts The following table lists the named parts for the control. @@ -53,5 +53,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/thumb-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/thumb-styles-and-templates.md index 770a651..9bde6b5 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/thumb-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/thumb-styles-and-templates.md @@ -13,7 +13,7 @@ ms.assetid: 86a49235-62d9-414e-923e-53126e3f930a # Thumb Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## Thumb Parts @@ -53,5 +53,5 @@ For the complete sample, see [Styling with ControlTemplates Sample](https://gith - - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/togglebutton-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/togglebutton-styles-and-templates.md index 0a62980..16c13bb 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/togglebutton-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/togglebutton-styles-and-templates.md @@ -13,7 +13,7 @@ ms.assetid: 54f23f30-4bcb-4f09-8ce4-376a13a255a1 # ToggleButton Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## ToggleButton Parts @@ -59,5 +59,5 @@ For the complete sample, see [Styling with ControlTemplates Sample](https://gith - - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/toolbar-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/toolbar-styles-and-templates.md index 1100416..da38f92 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/toolbar-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/toolbar-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: bd875f46-4690-46f5-81e0-f11a9822484f --- # ToolBar Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## ToolBar Parts The following table lists the named parts for the control. @@ -49,5 +49,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/tooltip-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/tooltip-styles-and-templates.md index 51ad0c9..aef1247 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/tooltip-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/tooltip-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: 405fe385-4de9-49ee-a448-d8f4d1f740dd --- # ToolTip Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## ToolTip Parts The control does not have any named parts. @@ -44,5 +44,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/treeview-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/treeview-styles-and-templates.md index adff8b9..0a9d3d6 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/treeview-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/treeview-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: a49adb77-0202-4caa-b94a-8bb110d7fa9a --- # TreeView Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## TreeView Parts The control does not have any named parts. @@ -72,5 +72,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/treeview.md b/dotnet-desktop-guide/framework/wpf/controls/treeview.md index 77102a5..a64ebea 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/treeview.md +++ b/dotnet-desktop-guide/framework/wpf/controls/treeview.md @@ -25,5 +25,5 @@ The control displays information in a hi ## Related Sections - [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) + [Data Binding Overview](../data/data-binding-overview.md) [Data Templating Overview](../data/data-templating-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/walkthrough-create-a-button-by-using-microsoft-expression-blend.md b/dotnet-desktop-guide/framework/wpf/controls/walkthrough-create-a-button-by-using-microsoft-expression-blend.md index 617f2bb..5e73bd1 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/walkthrough-create-a-button-by-using-microsoft-expression-blend.md +++ b/dotnet-desktop-guide/framework/wpf/controls/walkthrough-create-a-button-by-using-microsoft-expression-blend.md @@ -249,7 +249,7 @@ In conclusion, in the process of customizing a button template you have learned ## See also - [Create a Button by Using XAML](walkthrough-create-a-button-by-using-xaml.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Styling and Templating](styles-templates-overview.md) - [Animation Overview](../graphics-multimedia/animation-overview.md) - [Painting with Solid Colors and Gradients Overview](../graphics-multimedia/painting-with-solid-colors-and-gradients-overview.md) - [Bitmap Effects Overview](../graphics-multimedia/bitmap-effects-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/walkthrough-create-a-button-by-using-xaml.md b/dotnet-desktop-guide/framework/wpf/controls/walkthrough-create-a-button-by-using-xaml.md index e4ff1cc..2c27e68 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/walkthrough-create-a-button-by-using-xaml.md +++ b/dotnet-desktop-guide/framework/wpf/controls/walkthrough-create-a-button-by-using-xaml.md @@ -87,7 +87,7 @@ Next, let's set some properties on these buttons to control the button appearanc ![Buttons with a width of 90 and a margin of 10](./media/custom-button-animatedbutton-2.gif "custom_button_AnimatedButton_2") - There is much more you can do with styles, including a variety of ways to fine-tune what objects are targeted, specifying complex property values, and even using styles as input for other styles. For more information, see [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview). + There is much more you can do with styles, including a variety of ways to fine-tune what objects are targeted, specifying complex property values, and even using styles as input for other styles. For more information, see [Styling and Templating](styles-templates-overview.md). 3. **Set a style property value to a resource:** Resources enable a simple way to reuse commonly defined objects and values. It is especially useful to define complex values using resources to make your code more modular. Add the following highlighted markup to app.xaml. @@ -434,7 +434,7 @@ An easy way to add interactivity (mouse-over, mouse-leave, click, and so on) is ## See also - [Create a Button by Using Microsoft Expression Blend](walkthrough-create-a-button-by-using-microsoft-expression-blend.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) +- [Styling and Templating](styles-templates-overview.md) - [Animation Overview](../graphics-multimedia/animation-overview.md) - [Painting with Solid Colors and Gradients Overview](../graphics-multimedia/painting-with-solid-colors-and-gradients-overview.md) - [Bitmap Effects Overview](../graphics-multimedia/bitmap-effects-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/walkthroughs-create-a-custom-animated-button.md b/dotnet-desktop-guide/framework/wpf/controls/walkthroughs-create-a-custom-animated-button.md index d80cf2d..1eae3f0 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/walkthroughs-create-a-custom-animated-button.md +++ b/dotnet-desktop-guide/framework/wpf/controls/walkthroughs-create-a-custom-animated-button.md @@ -22,7 +22,7 @@ As its name suggests, Windows Presentation Foundation (WPF) is great for making Demonstrates how to create buttons with custom behavior by using [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] and Visual Studio. ## Related Sections - [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) + [Styling and Templating](styles-templates-overview.md) Describes how styles and templates can be used to determine the appearance and behavior of controls. [Animation Overview](../graphics-multimedia/animation-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/controls/window-styles-and-templates.md b/dotnet-desktop-guide/framework/wpf/controls/window-styles-and-templates.md index ca437c3..b88f028 100644 --- a/dotnet-desktop-guide/framework/wpf/controls/window-styles-and-templates.md +++ b/dotnet-desktop-guide/framework/wpf/controls/window-styles-and-templates.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: 2dfdf025-347b-4342-bf28-95206c273f35 --- # Window Styles and Templates -This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template). +This topic describes the styles and templates for the control. You can modify the default to give the control a unique appearance. For more information, see [Create a template for a control](how-to-create-apply-template.md). ## Window Parts The control does not have any named parts. @@ -43,5 +43,5 @@ This topic describes the styles and templates for the - [Control Styles and Templates](control-styles-and-templates.md) - [Control Customization](control-customization.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Create a template for a control](/dotnet/desktop-wpf/themes/how-to-create-apply-template) +- [Styling and Templating](styles-templates-overview.md) +- [Create a template for a control](how-to-create-apply-template.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/binding-declarations-overview.md b/dotnet-desktop-guide/framework/wpf/data/binding-declarations-overview.md index db06c19..60ac676 100644 --- a/dotnet-desktop-guide/framework/wpf/data/binding-declarations-overview.md +++ b/dotnet-desktop-guide/framework/wpf/data/binding-declarations-overview.md @@ -24,7 +24,7 @@ This topic discusses the different ways you can declare a binding. Before reading this topic, it is important that you are familiar with the concept and usage of markup extensions. For more information about markup extensions, see [Markup Extensions and WPF XAML](../advanced/markup-extensions-and-wpf-xaml.md). -This topic does not cover data binding concepts. For a discussion of data binding concepts, see [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). +This topic does not cover data binding concepts. For a discussion of data binding concepts, see [Data Binding Overview](data-binding-overview.md). @@ -137,7 +137,7 @@ The default behavior is as follows if not specified in the declaration. ## See also -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [How-to Topics](data-binding-how-to-topics.md) - [Data Binding](../advanced/optimizing-performance-data-binding.md) - [PropertyPath XAML Syntax](../advanced/propertypath-xaml-syntax.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/binding-sources-overview.md b/dotnet-desktop-guide/framework/wpf/data/binding-sources-overview.md index ce98cbc..633941c 100644 --- a/dotnet-desktop-guide/framework/wpf/data/binding-sources-overview.md +++ b/dotnet-desktop-guide/framework/wpf/data/binding-sources-overview.md @@ -49,7 +49,7 @@ In data binding, the binding source object refers to the object you obtain data ## Using Entire Objects as a Binding Source You can use an entire object as a binding source. You can specify a binding source by using the or the property, and then provide a blank binding declaration: `{Binding}`. Scenarios in which this is useful include binding to objects that are of type string, binding to objects with multiple properties you are interested in, or binding to collection objects. For an example of binding to an entire collection object, see [Use the Master-Detail Pattern with Hierarchical Data](how-to-use-the-master-detail-pattern-with-hierarchical-data.md). - Note that you may need to apply custom logic so that the data is meaningful to your bound target property. The custom logic may be in the form of a custom converter (if default type conversion does not exist) or a . For more information about converters, see the Data Conversion section of [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). For more information about data templates, see [Data Templating Overview](data-templating-overview.md). + Note that you may need to apply custom logic so that the data is meaningful to your bound target property. The custom logic may be in the form of a custom converter (if default type conversion does not exist) or a . For more information about converters, see the Data Conversion section of [Data Binding Overview](data-binding-overview.md). For more information about data templates, see [Data Templating Overview](data-templating-overview.md). ## Using Collection Objects as a Binding Source @@ -59,7 +59,7 @@ In data binding, the binding source object refers to the object you obtain data The class is a built-in implementation of a data collection that exposes the interface. The individual data objects within the collection must satisfy the requirements described in the preceding sections. For an example, see [Create and Bind to an ObservableCollection](how-to-create-and-bind-to-an-observablecollection.md). Before implementing your own collection, consider using or one of the existing collection classes, such as , , and , among many others. - WPF never binds directly to a collection. If you specify a collection as a binding source, WPF actually binds to the collection's default view. For information about default views, see [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). + WPF never binds directly to a collection. If you specify a collection as a binding source, WPF actually binds to the collection's default view. For information about default views, see [Data Binding Overview](data-binding-overview.md). If you have an advanced scenario and you want to implement your own collection, consider using the interface. provides a non-generic collection of objects that can be individually accessed by index, which can improve performance. @@ -92,6 +92,6 @@ In data binding, the binding source object refers to the object you obtain data - - - [Specify the Binding Source](how-to-specify-the-binding-source.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [WPF Data Binding with LINQ to XML Overview](wpf-data-binding-with-linq-to-xml-overview.md) - [Optimize data binding performance](../advanced/optimizing-performance-data-binding.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/data-binding-how-to-topics.md b/dotnet-desktop-guide/framework/wpf/data/data-binding-how-to-topics.md index 2393ba9..e59f6a2 100644 --- a/dotnet-desktop-guide/framework/wpf/data/data-binding-how-to-topics.md +++ b/dotnet-desktop-guide/framework/wpf/data/data-binding-how-to-topics.md @@ -58,5 +58,5 @@ The topics in this section describe how to use data binding to bind elements to ## Related sections -- [Data binding in WPF](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data binding in WPF](data-binding-overview.md) - [Data binding performance](../advanced/optimizing-performance-data-binding.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/data-templating-overview.md b/dotnet-desktop-guide/framework/wpf/data/data-templating-overview.md index c621ed2..cb0f5a4 100644 --- a/dotnet-desktop-guide/framework/wpf/data/data-templating-overview.md +++ b/dotnet-desktop-guide/framework/wpf/data/data-templating-overview.md @@ -17,9 +17,9 @@ The WPF data templating model provides you with great flexibility to define the ## Prerequisites - This topic focuses on data templating features and is not an introduction of data binding concepts. For information about basic data binding concepts, see the [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). + This topic focuses on data templating features and is not an introduction of data binding concepts. For information about basic data binding concepts, see the [Data Binding Overview](data-binding-overview.md). - is about the presentation of data and is one of the many features provided by the WPF styling and templating model. For an introduction of the WPF styling and templating model, such as how to use a to set properties on controls, see the [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) topic. + is about the presentation of data and is one of the many features provided by the WPF styling and templating model. For an introduction of the WPF styling and templating model, such as how to use a to set properties on controls, see the [Styling and Templating](../controls/styles-templates-overview.md) topic. In addition, it is important to understand `Resources`, which are essentially what enable objects such as and to be reusable. For more information on resources, see [XAML Resources](/dotnet/desktop-wpf/fundamentals/xaml-resources-define). @@ -192,6 +192,6 @@ This concludes our discussion of this example. For the complete sample, see [Int - [Data Binding](../advanced/optimizing-performance-data-binding.md) - [Find DataTemplate-Generated Elements](how-to-find-datatemplate-generated-elements.md) -- [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Styling and Templating](../controls/styles-templates-overview.md) +- [Data Binding Overview](data-binding-overview.md) - [GridView Column Header Styles and Templates Overview](../controls/gridview-column-header-styles-and-templates-overview.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-bind-the-properties-of-two-controls.md b/dotnet-desktop-guide/framework/wpf/data/how-to-bind-the-properties-of-two-controls.md index b0a3dd3..ed17437 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-bind-the-properties-of-two-controls.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-bind-the-properties-of-two-controls.md @@ -22,7 +22,7 @@ When this example is rendered it looks like the following: ![Screenshot showing a combo box with the value green selected and a green square.](./media/how-to-bind-the-properties-of-two-controls/data-binding-bind-background-canvas.png) > [!NOTE] -> The binding target property (in this example, the property) must be a dependency property. For more information, see [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). +> The binding target property (in this example, the property) must be a dependency property. For more information, see [Data Binding Overview](data-binding-overview.md). ## See also diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-bind-to-a-collection-and-display-information-based-on-selection.md b/dotnet-desktop-guide/framework/wpf/data/how-to-bind-to-a-collection-and-display-information-based-on-selection.md index 983524e..09d5fbd 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-bind-to-a-collection-and-display-information-based-on-selection.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-bind-to-a-collection-and-display-information-based-on-selection.md @@ -44,6 +44,6 @@ In a simple master-detail scenario, you have a data-bound -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-bind-to-an-enumeration.md b/dotnet-desktop-guide/framework/wpf/data/how-to-bind-to-an-enumeration.md index fdc4e7d..32a6c22 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-bind-to-an-enumeration.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-bind-to-an-enumeration.md @@ -18,5 +18,5 @@ This example shows how to bind to an enumeration by binding to the enumeration's ## See also - [Bind to a Method](how-to-bind-to-a-method.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-bind-to-the-results-of-a-linq-query.md b/dotnet-desktop-guide/framework/wpf/data/how-to-bind-to-the-results-of-a-linq-query.md index 30729ec..fb74ef2 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-bind-to-the-results-of-a-linq-query.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-bind-to-the-results-of-a-linq-query.md @@ -29,4 +29,4 @@ The second list box binds to that collection because its will show the following items when this example is run. These are the *Title*s of all of the elements under *Books* with either a *Stock* value of "*out*" or a *Number* value of 3 or greater than or equals to 8. Notice that no *CD* items are returned because the value set on the indicates that only the *Books* elements should be exposed (essentially setting a filter). @@ -58,5 +58,5 @@ This example shows how to bind to XML data using an -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-convert-bound-data.md b/dotnet-desktop-guide/framework/wpf/data/how-to-convert-bound-data.md index 2f957d7..c9960d5 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-convert-bound-data.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-convert-bound-data.md @@ -34,5 +34,5 @@ This example shows how to apply conversion to data that is used in bindings. ## See also - [Implement Binding Validation](how-to-implement-binding-validation.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-create-a-binding-in-code.md b/dotnet-desktop-guide/framework/wpf/data/how-to-create-a-binding-in-code.md index a34a295..1554293 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-create-a-binding-in-code.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-create-a-binding-in-code.md @@ -37,5 +37,5 @@ This example shows how to create and set a in ## See also -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-create-a-simple-binding.md b/dotnet-desktop-guide/framework/wpf/data/how-to-create-a-simple-binding.md index 800c59d..45b2c03 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-create-a-simple-binding.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-create-a-simple-binding.md @@ -22,5 +22,5 @@ This example shows you how to create a simple ## See also -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-create-and-bind-to-an-observablecollection.md b/dotnet-desktop-guide/framework/wpf/data/how-to-create-and-bind-to-an-observablecollection.md index 5d28b4f..8032a5e 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-create-and-bind-to-an-observablecollection.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-create-and-bind-to-an-observablecollection.md @@ -133,12 +133,12 @@ End Class > [!NOTE] > The objects in your collection must satisfy the requirements described in the [Binding Sources Overview](binding-sources-overview.md). In particular, if you are using or (for example, you want your [!INCLUDE[TLA2#tla_ui](../../../includes/tla2sharptla-ui-md.md)] to update when the source properties change dynamically), you must implement a suitable property changed notification mechanism such as the interface. - For more information, see the Binding to Collections section in the [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). + For more information, see the Binding to Collections section in the [Data Binding Overview](data-binding-overview.md). ## See also - [Sort Data in a View](how-to-sort-data-in-a-view.md) - [Filter Data in a View](how-to-filter-data-in-a-view.md) - [Sort and Group Data Using a View in XAML](how-to-sort-and-group-data-using-a-view-in-xaml.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-filter-data-in-a-view.md b/dotnet-desktop-guide/framework/wpf/data/how-to-filter-data-in-a-view.md index 292f0d6..01dd661 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-filter-data-in-a-view.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-filter-data-in-a-view.md @@ -45,6 +45,6 @@ This example shows how to filter data in a view. - - -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [Sort Data in a View](how-to-sort-data-in-a-view.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-find-datatemplate-generated-elements.md b/dotnet-desktop-guide/framework/wpf/data/how-to-find-datatemplate-generated-elements.md index 6825f38..b364e1b 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-find-datatemplate-generated-elements.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-find-datatemplate-generated-elements.md @@ -34,8 +34,8 @@ This example shows how to find elements that are generated by a class. This collection view is only shared by controls that bind to it directly. For an example, see the How to Create a View section in the [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). + Alternatively, you can instantiate and bind to your own collection view using the class. This collection view is only shared by controls that bind to it directly. For an example, see the How to Create a View section in the [Data Binding Overview](data-binding-overview.md). For examples of the functionality provided by a collection view, see [Sort Data in a View](how-to-sort-data-in-a-view.md), [Filter Data in a View](how-to-filter-data-in-a-view.md), and [Navigate Through the Objects in a Data CollectionView](how-to-navigate-through-the-objects-in-a-data-collectionview.md). diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-implement-a-compositecollection.md b/dotnet-desktop-guide/framework/wpf/data/how-to-implement-a-compositecollection.md index cc0d910..dffd364 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-implement-a-compositecollection.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-implement-a-compositecollection.md @@ -17,5 +17,5 @@ ms.assetid: 0d8fc84c-7920-427f-8ad7-d55ca656c170 - - - -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-implement-binding-validation.md b/dotnet-desktop-guide/framework/wpf/data/how-to-implement-binding-validation.md index b6b1144..677a94a 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-implement-binding-validation.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-implement-binding-validation.md @@ -36,9 +36,9 @@ As shown in the following example, the th For the complete example, see [Bind Validation sample](https://github.com/Microsoft/WPF-Samples/tree/master/Data%20Binding/BindValidation). -Note that if you do not provide a custom the default error template appears to provide visual feedback to the user when there is a validation error. See "Data Validation" in [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) for more information. Also, [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] provides a built-in validation rule that catches exceptions that are thrown during the update of the binding source property. For more information, see . +Note that if you do not provide a custom the default error template appears to provide visual feedback to the user when there is a validation error. See "Data Validation" in [Data Binding Overview](data-binding-overview.md) for more information. Also, [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] provides a built-in validation rule that catches exceptions that are thrown during the update of the binding source property. For more information, see . ## See also -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-implement-prioritybinding.md b/dotnet-desktop-guide/framework/wpf/data/how-to-implement-prioritybinding.md index 97e7a72..1301624 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-implement-prioritybinding.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-implement-prioritybinding.md @@ -43,5 +43,5 @@ ms.assetid: d63b65ab-b3e9-4322-9aa8-1450f8d89532 ## See also - -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-implement-property-change-notification.md b/dotnet-desktop-guide/framework/wpf/data/how-to-implement-property-change-notification.md index 695e9a3..6cf5333 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-implement-property-change-notification.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-implement-property-change-notification.md @@ -26,5 +26,5 @@ To support or - [Get the Default View of a Data Collection](how-to-get-the-default-view-of-a-data-collection.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-sort-data-in-a-view.md b/dotnet-desktop-guide/framework/wpf/data/how-to-sort-data-in-a-view.md index eae7896..0925b8a 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-sort-data-in-a-view.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-sort-data-in-a-view.md @@ -26,7 +26,7 @@ This example describes how to sort data in a view. [!code-csharp[ListBoxSort_snip#HowToCode](~/samples/snippets/csharp/VS_Snippets_Wpf/ListBoxSort_snip/CSharp/Window1.xaml.cs#howtocode)] [!code-vb[ListBoxSort_snip#HowToCode](~/samples/snippets/visualbasic/VS_Snippets_Wpf/ListBoxSort_snip/visualbasic/window1.xaml.vb#howtocode)] - As long as you have a reference to the view object, you can use the same technique to sort the content of other collection views. For an example of how to obtain a view, see [Get the Default View of a Data Collection](how-to-get-the-default-view-of-a-data-collection.md). For another example, see [Sort a GridView Column When a Header Is Clicked](../controls/how-to-sort-a-gridview-column-when-a-header-is-clicked.md). For more information about views, see Binding to Collections in [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview). + As long as you have a reference to the view object, you can use the same technique to sort the content of other collection views. For an example of how to obtain a view, see [Get the Default View of a Data Collection](how-to-get-the-default-view-of-a-data-collection.md). For another example, see [Sort a GridView Column When a Header Is Clicked](../controls/how-to-sort-a-gridview-column-when-a-header-is-clicked.md). For more information about views, see Binding to Collections in [Data Binding Overview](data-binding-overview.md). For an example of how to apply sorting logic in [!INCLUDE[TLA#tla_xaml](../../../includes/tlasharptla-xaml-md.md)], see [Sort and Group Data Using a View in XAML](how-to-sort-and-group-data-using-a-view-in-xaml.md). @@ -34,6 +34,6 @@ This example describes how to sort data in a view. - - [Sort a GridView Column When a Header Is Clicked](../controls/how-to-sort-a-gridview-column-when-a-header-is-clicked.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [Filter Data in a View](how-to-filter-data-in-a-view.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-specify-the-binding-source.md b/dotnet-desktop-guide/framework/wpf/data/how-to-specify-the-binding-source.md index 7f5af5c..beae4b8 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-specify-the-binding-source.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-specify-the-binding-source.md @@ -43,6 +43,6 @@ In data binding, the binding source object refers to the object you obtain your - - - [Property Value Inheritance](../advanced/property-value-inheritance.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [Binding Declarations Overview](binding-declarations-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-specify-the-direction-of-the-binding.md b/dotnet-desktop-guide/framework/wpf/data/how-to-specify-the-direction-of-the-binding.md index 2038801..a11c7a4 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-specify-the-direction-of-the-binding.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-specify-the-direction-of-the-binding.md @@ -37,5 +37,5 @@ This example shows how to specify whether the binding updates only the binding t ## See also - -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-use-the-master-detail-pattern-with-hierarchical-data.md b/dotnet-desktop-guide/framework/wpf/data/how-to-use-the-master-detail-pattern-with-hierarchical-data.md index 5b3fbd5..ae8ad3a 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-use-the-master-detail-pattern-with-hierarchical-data.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-use-the-master-detail-pattern-with-hierarchical-data.md @@ -31,6 +31,6 @@ This example shows how to implement the master-detail scenario. - - [Bind to a Collection and Display Information Based on Selection](how-to-bind-to-a-collection-and-display-information-based-on-selection.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [Data Templating Overview](data-templating-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/how-to-use-xml-namespaces-in-data-binding.md b/dotnet-desktop-guide/framework/wpf/data/how-to-use-xml-namespaces-in-data-binding.md index 1bf0ce9..bfd709f 100644 --- a/dotnet-desktop-guide/framework/wpf/data/how-to-use-xml-namespaces-in-data-binding.md +++ b/dotnet-desktop-guide/framework/wpf/data/how-to-use-xml-namespaces-in-data-binding.md @@ -26,5 +26,5 @@ ms.assetid: a47c832f-dc84-48f2-96d5-cde18fc4284b ## See also - [Bind to XML Data Using an XMLDataProvider and XPath Queries](how-to-bind-to-xml-data-using-an-xmldataprovider-and-xpath-queries.md) -- [Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data Binding Overview](data-binding-overview.md) - [How-to Topics](data-binding-how-to-topics.md) diff --git a/dotnet-desktop-guide/framework/wpf/data/index.md b/dotnet-desktop-guide/framework/wpf/data/index.md index be22fd7..bc16e37 100644 --- a/dotnet-desktop-guide/framework/wpf/data/index.md +++ b/dotnet-desktop-guide/framework/wpf/data/index.md @@ -13,7 +13,7 @@ ms.assetid: dea454e2-abd8-4c53-ba37-d3ed53187d64 [!INCLUDE[TLA#tla_winclient](../../../includes/tlasharptla-winclient-md.md)] data binding provides a simple and consistent way for applications to present and interact with data. Elements can be bound to data from a variety of data sources in the form of common language runtime (CLR) objects and XML. [!INCLUDE[TLA#tla_winclient](../../../includes/tlasharptla-winclient-md.md)] also provides a mechanism for the transfer of data through drag-and-drop operations. ## In This Section - [Data Binding](/dotnet/desktop-wpf/data/data-binding-overview) + [Data Binding](data-binding-overview.md) [Drag and Drop](../advanced/drag-and-drop.md) ## Reference @@ -28,7 +28,7 @@ ms.assetid: dea454e2-abd8-4c53-ba37-d3ed53187d64 ## Related Sections [Controls](../controls/index.md) - [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) + [Styling and Templating](../controls/styles-templates-overview.md) [Data Binding](../advanced/optimizing-performance-data-binding.md) diff --git a/dotnet-desktop-guide/framework/wpf/getting-started/index.md b/dotnet-desktop-guide/framework/wpf/getting-started/index.md index 05fac7b..42fcb5e 100644 --- a/dotnet-desktop-guide/framework/wpf/getting-started/index.md +++ b/dotnet-desktop-guide/framework/wpf/getting-started/index.md @@ -19,7 +19,7 @@ Windows Presentation Foundation (WPF) is a UI framework that creates desktop cli |I want to jump right in…|[Walkthrough: My first WPF desktop application](walkthrough-my-first-wpf-desktop-application.md)| |How do I design the application UI?|[Designing XAML in Visual Studio](/visualstudio/designers/designing-xaml-in-visual-studio)| |New to .NET?|[Overview of the .NET Framework](/dotnet/framework/get-started/overview)

[Getting Started with Visual C# and Visual Basic](/visualstudio/ide/quickstart-visual-basic-console)| -|Tell me more about WPF…|[Introduction to WPF in Visual Studio](introduction-to-wpf-in-vs.md)

[XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml)

[Controls](../controls/index.md)

[Data Binding Overview](/dotnet/desktop-wpf/data/data-binding-overview)| +|Tell me more about WPF…|[Introduction to WPF in Visual Studio](introduction-to-wpf-in-vs.md)

[XAML in WPF](../advanced/xaml-in-wpf.md)

[Controls](../controls/index.md)

[Data Binding Overview](../data/data-binding-overview.md)| |Are you a Windows Forms developer?|[Windows Forms Controls and Equivalent WPF Controls](../advanced/windows-forms-controls-and-equivalent-wpf-controls.md)

[WPF and Windows Forms Interoperation](../advanced/wpf-and-windows-forms-interoperation.md)| ## See also diff --git a/dotnet-desktop-guide/framework/wpf/getting-started/walkthrough-my-first-wpf-desktop-application.md b/dotnet-desktop-guide/framework/wpf/getting-started/walkthrough-my-first-wpf-desktop-application.md index 4e9d38d..86cdee5 100644 --- a/dotnet-desktop-guide/framework/wpf/getting-started/walkthrough-my-first-wpf-desktop-application.md +++ b/dotnet-desktop-guide/framework/wpf/getting-started/walkthrough-my-first-wpf-desktop-application.md @@ -353,7 +353,7 @@ The following illustration shows the UI elements added to *ExpenseReportPage.xam ## Style controls -The appearance of various elements is often the same for all elements of the same type in a UI. UI uses [styles](/dotnet/desktop-wpf/fundamentals/styles-templates-overview) to make appearances reusable across multiple elements. The reusability of styles helps to simplify XAML creation and management. This section replaces the per-element attributes that were defined in previous steps with styles. +The appearance of various elements is often the same for all elements of the same type in a UI. UI uses [styles](../controls/styles-templates-overview.md) to make appearances reusable across multiple elements. The reusability of styles helps to simplify XAML creation and management. This section replaces the per-element attributes that were defined in previous steps with styles. 1. Open *Application.xaml* or *App.xaml*. @@ -443,7 +443,7 @@ In this section, you'll update the UI for each item in the data-bound lists by u 1. Open *ExpenseReportPage.xaml*. -2. Bind the content of the "Name" and "Department" elements to the appropriate data source property. For more information about data binding, see [Data binding overview](/dotnet/desktop-wpf/data/data-binding-overview). +2. Bind the content of the "Name" and "Department" elements to the appropriate data source property. For more information about data binding, see [Data binding overview](../data/data-binding-overview.md). [!code-xaml[ExpenseIt#31](~/samples/snippets/csharp/VS_Snippets_Wpf/ExpenseIt/CSharp/ExpenseIt9/ExpenseReportPage.xaml#31)] @@ -476,7 +476,7 @@ The following illustration shows both pages of the `ExpenseIt` application with In this walkthrough you learned a number of techniques for creating a UI using Windows Presentation Foundation (WPF). You should now have a basic understanding of the building blocks of a data-bound .NET app. For more information about the WPF architecture and programming models, see the following topics: - [WPF architecture](../advanced/wpf-architecture.md) -- [XAML overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [XAML in WPF](../advanced/xaml-in-wpf.md) - [Dependency properties overview](../advanced/dependency-properties-overview.md) - [Layout](../advanced/layout.md) @@ -484,7 +484,7 @@ For more information about creating applications, see the following topics: - [Application development](../app-development/index.md) - [Controls](../controls/index.md) -- [Data binding overview](/dotnet/desktop-wpf/data/data-binding-overview) +- [Data binding overview](../data/data-binding-overview.md) - [Graphics and multimedia](../graphics-multimedia/index.md) - [Documents in WPF](../advanced/documents-in-wpf.md) diff --git a/dotnet-desktop-guide/framework/wpf/graphics-multimedia/animation-overview.md b/dotnet-desktop-guide/framework/wpf/graphics-multimedia/animation-overview.md index ddab3bb..a3b422b 100644 --- a/dotnet-desktop-guide/framework/wpf/graphics-multimedia/animation-overview.md +++ b/dotnet-desktop-guide/framework/wpf/graphics-multimedia/animation-overview.md @@ -288,7 +288,7 @@ Assigning a name to a differs from assign - To make a an animation target, you give it a name by setting its property. In code, you must also use the method to register the element name with the page to which it belongs. -- To make a object an animation target in [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)], you use the [x:Name Directive](/dotnet/desktop-wpf/xaml-services/xname-directive) to assign it a name. In code, you just use the method to register the object with the page to which it belongs. +- To make a object an animation target in [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)], you use the [x:Name Directive](/dotnet/desktop/xaml-services/xname-directive) to assign it a name. In code, you just use the method to register the object with the page to which it belongs. The sections that follow provide an example of naming an element in [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] and code. For more detailed information about naming and targeting, see the [Storyboards Overview](storyboards-overview.md). diff --git a/dotnet-desktop-guide/framework/wpf/graphics-multimedia/how-to-animate-a-property-by-using-a-storyboard.md b/dotnet-desktop-guide/framework/wpf/graphics-multimedia/how-to-animate-a-property-by-using-a-storyboard.md index 9b2c2b5..61e52f8 100644 --- a/dotnet-desktop-guide/framework/wpf/graphics-multimedia/how-to-animate-a-property-by-using-a-storyboard.md +++ b/dotnet-desktop-guide/framework/wpf/graphics-multimedia/how-to-animate-a-property-by-using-a-storyboard.md @@ -23,7 +23,7 @@ This example shows how to use a [!code-xaml[AnimatePropertyStoryboards#1](~/samples/snippets/xaml/VS_Snippets_Wpf/AnimatePropertyStoryboards/XAML/StoryboardExample.xaml#1)] > [!NOTE] -> Although animations can target both a object, such as a or , and a object, such as a or , only framework elements have a property. To assign a name to a freezable so that it can be targeted by an animation, use the [x:Name Directive](/dotnet/desktop-wpf/xaml-services/xname-directive), as the previous example shows. +> Although animations can target both a object, such as a or , and a object, such as a or , only framework elements have a property. To assign a name to a freezable so that it can be targeted by an animation, use the [x:Name Directive](/dotnet/desktop/xaml-services/xname-directive), as the previous example shows. If you use code, you must create a for a and register the names of the objects to animate with that . To start the animations in code, use a action with an . Optionally, you can use an event handler and the method of . The following example shows how to use the method. diff --git a/dotnet-desktop-guide/framework/wpf/graphics-multimedia/how-to-animate-in-a-style.md b/dotnet-desktop-guide/framework/wpf/graphics-multimedia/how-to-animate-in-a-style.md index 4c66025..245fa3f 100644 --- a/dotnet-desktop-guide/framework/wpf/graphics-multimedia/how-to-animate-in-a-style.md +++ b/dotnet-desktop-guide/framework/wpf/graphics-multimedia/how-to-animate-in-a-style.md @@ -18,4 +18,4 @@ In the following example, several animations are defined within a style and appl Note that when animating within a style, it's possible to target objects that don't exist. For example, suppose your style uses a to set a Button's background property, but at some point the style is overridden and the button's background is set with a . Trying to animate the won't throw an exception; the animation will simply fail silently. -For more information about storyboard targeting syntax, see the [Storyboards Overview](storyboards-overview.md). For more information about animation, see the [Animation Overview](animation-overview.md). For more information about styles, see the [Styling and Templating](/dotnet/desktop-wpf/fundamentals/styles-templates-overview). +For more information about storyboard targeting syntax, see the [Storyboards Overview](storyboards-overview.md). For more information about animation, see the [Animation Overview](animation-overview.md). For more information about styles, see the [Styling and Templating](../controls/styles-templates-overview.md). diff --git a/dotnet-desktop-guide/framework/wpf/graphics-multimedia/storyboards-overview.md b/dotnet-desktop-guide/framework/wpf/graphics-multimedia/storyboards-overview.md index 3a98424..417b2d7 100644 --- a/dotnet-desktop-guide/framework/wpf/graphics-multimedia/storyboards-overview.md +++ b/dotnet-desktop-guide/framework/wpf/graphics-multimedia/storyboards-overview.md @@ -107,7 +107,7 @@ After it has a name, you can animate a property of that element. types are those classes that inherit from the class. Examples of include , , and . -To enable the targeting of a by an animation in [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)], you use the [x:Name Directive](/dotnet/desktop-wpf/xaml-services/xname-directive) to assign it a name. In code, you use the method to register its name with the element for which you've created a . +To enable the targeting of a by an animation in [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)], you use the [x:Name Directive](/dotnet/desktop/xaml-services/xname-directive) to assign it a name. In code, you use the method to register its name with the element for which you've created a . The following example assigns a name to a object. diff --git a/dotnet-desktop-guide/framework/wpf/graphics-multimedia/timing-behaviors-overview.md b/dotnet-desktop-guide/framework/wpf/graphics-multimedia/timing-behaviors-overview.md index d52f654..6865f77 100644 --- a/dotnet-desktop-guide/framework/wpf/graphics-multimedia/timing-behaviors-overview.md +++ b/dotnet-desktop-guide/framework/wpf/graphics-multimedia/timing-behaviors-overview.md @@ -86,7 +86,7 @@ This topic describes the timing behaviors of animations and other ## The BeginTime Property - The property enables you to specify when a timeline starts. A timeline's begin time is relative to its parent timeline. A begin time of zero seconds means the timeline starts as soon as it parent starts; any other value creates an offset between when the parent timeline starts playing and when the child timeline plays. For example, a begin time of two seconds means the timeline starts playing when its parent has reached a time of two seconds. By default, all timelines have a begin time of zero seconds. You may also set a timeline's begin time to `null`, which prevents the timeline from starting. In [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)], you specify null using the [x:Null Markup Extension](/dotnet/desktop-wpf/xaml-services/xnull-markup-extension). + The property enables you to specify when a timeline starts. A timeline's begin time is relative to its parent timeline. A begin time of zero seconds means the timeline starts as soon as it parent starts; any other value creates an offset between when the parent timeline starts playing and when the child timeline plays. For example, a begin time of two seconds means the timeline starts playing when its parent has reached a time of two seconds. By default, all timelines have a begin time of zero seconds. You may also set a timeline's begin time to `null`, which prevents the timeline from starting. In [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)], you specify null using the [x:Null Markup Extension](/dotnet/desktop/xaml-services/xnull-markup-extension). Note that the begin time is not applied each time a timeline repeats because of its setting. If you were to create an animation with a of 10 seconds and a of , there would be a 10-second delay before the animation played for the first time, but not for each successive repetition. However, if the animation's parent timeline were to restart or repeat, the 10-second delay would occur. diff --git a/dotnet-desktop-guide/framework/wpf/introduction-to-wpf.md b/dotnet-desktop-guide/framework/wpf/introduction-to-wpf.md index 8813c80..1b96880 100644 --- a/dotnet-desktop-guide/framework/wpf/introduction-to-wpf.md +++ b/dotnet-desktop-guide/framework/wpf/introduction-to-wpf.md @@ -249,7 +249,7 @@ In this example, the `Person` class is instantiated in code-behind and is set as The WPF data binding engine provides additional support that includes validation, sorting, filtering, and grouping. Furthermore, data binding supports the use of data templates to create custom user interface for bound data when the user interface displayed by the standard WPF controls is not appropriate. -For more information, see [Data binding overview](/dotnet/desktop-wpf/data/data-binding-overview). +For more information, see [Data binding overview](data/data-binding-overview.md). ## Graphics @@ -280,7 +280,7 @@ The following figure shows what is produced by the preceding code: ![A window with the text "you clicked the ellipse!"](media/introduction-to-wpf/wpfintrofigure12.png) -For more information, see [Shapes and basic drawing in WPF overview](/dotnet/desktop-wpf/data/data-binding-overview). +For more information, see [Shapes and basic drawing in WPF overview](data/data-binding-overview.md). ### 2D geometries @@ -419,7 +419,7 @@ For more information on the kinds of content that is supported by various contro ### Triggers -Although the main purpose of XAML markup is to implement an application's appearance, you can also use XAML to implement some aspects of an application's behavior. One example is the use of triggers to change an application's appearance based on user interactions. For more information, see [Styles and templates](/dotnet/desktop-wpf/fundamentals/styles-templates-overview). +Although the main purpose of XAML markup is to implement an application's appearance, you can also use XAML to implement some aspects of an application's behavior. One example is the use of triggers to change an application's appearance based on user interactions. For more information, see [Styles and templates](controls/styles-templates-overview.md). ### Control templates diff --git a/dotnet-desktop-guide/framework/wpf/security-wpf.md b/dotnet-desktop-guide/framework/wpf/security-wpf.md index bd0cdc0..9324f91 100644 --- a/dotnet-desktop-guide/framework/wpf/security-wpf.md +++ b/dotnet-desktop-guide/framework/wpf/security-wpf.md @@ -292,4 +292,4 @@ ms.assetid: ee1baea0-3611-4e36-9ad6-fcd5205376fb - [Patterns and Practices Security Guidance for Applications](/previous-versions/msp-n-p/ff650760(v=pandp.10)) - [Code Access Security](/dotnet/framework/misc/code-access-security) - [ClickOnce Security and Deployment](/visualstudio/deployment/clickonce-security-and-deployment) -- [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml) +- [XAML in WPF](advanced/xaml-in-wpf.md) diff --git a/dotnet-desktop-guide/framework/wpf/wpf-partial-trust-security.md b/dotnet-desktop-guide/framework/wpf/wpf-partial-trust-security.md index e703298..509c707 100644 --- a/dotnet-desktop-guide/framework/wpf/wpf-partial-trust-security.md +++ b/dotnet-desktop-guide/framework/wpf/wpf-partial-trust-security.md @@ -46,7 +46,7 @@ ms.assetid: ef2c0810-1dbf-4511-babd-1fab95b523b5 This table covers the WPF features at a high level. For more detailed information, the Windows SDK documents the permissions that are required by each member in WPF. Additionally, the following features have more detailed information regarding partial trust execution, including special considerations. -- [!INCLUDE[TLA2#tla_xaml](../../includes/tla2sharptla-xaml-md.md)] (see [XAML Overview (WPF)](/dotnet/desktop-wpf/fundamentals/xaml)). +- [!INCLUDE[TLA2#tla_xaml](../../includes/tla2sharptla-xaml-md.md)] (see [XAML in WPF](advanced/xaml-in-wpf.md)). - Popups (see ).