Merge pull request #1135 from dotnet/adegeo-links

Correct .NET Framework links that pointed to old .NET 5 URLs
This commit is contained in:
Andy (Steve) De George
2021-08-11 12:04:34 -07:00
committed by GitHub
parent 2aea7ebcbf
commit e9fcf43083
162 changed files with 323 additions and 323 deletions
@@ -35,13 +35,13 @@ This topic introduces the concept of markup extensions for XAML, including their
## XAML-Defined Markup Extensions
Several markup extensions exist that are not specific to the WPF implementation of XAML, but are instead implementations of intrinsics or features of XAML as a language. These markup extensions are implemented in the System.Xaml assembly as part of the general .NET Framework XAML services, and are within the XAML language XAML namespace. In terms of common markup usage, these markup extensions are typically identifiable by the `x:` prefix in the usage. The <xref:System.Windows.Markup.MarkupExtension> 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 <xref:System.Type> 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 <xref:System.Type> 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
<a name="EscapeSequences"></a>
## 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).
<a name="Nesting"></a>
## 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)