Setter.Value 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
public:
property Platform::Object ^ Value { Platform::Object ^ get(); void set(Platform::Object ^ value); };
IInspectable Value();
void Value(IInspectable value);
public object Value { get; set; }
var object = setter.value;
setter.value = object;
Public Property Value As Object
<Setter ...>
<Setter.Value>
objectValue
</Setter.Value>
</Setter>
- or -
<Setter Value="attributeValue"/>
-or-
<Setter Value="extensionUsage"/>
属性值
要应用于 Setter 指定的属性的值。
注解
从 XAML 语法中可以看到,有多种方法可以在 XAML 中为 Setter 指定 Value
:
- 作为属性,使用字符串值。 对于简单情况,此类字符串值可以隐式转换为特定于属性的类型,例如设置数值、枚举中的命名值或统一资源标识符 (URI) 。
- 作为在 XAML 对象元素语法中声明的全新对象,对象元素嵌套在属性元素用法中。
- 作为在引号内具有 {StaticResource} 标记扩展 用法的属性。 通常,属性的值类型决定了适合的语法。 有关 XAML 用法的详细信息,请参阅 XAML 概述 或 XAML 语法指南。 可以对大多数 XAML UI 属性使用属性语法,而专门要求使用属性元素或资源引用的 UI 属性则不太常见。 如果多个样式或属性共享这些值,则 {StaticResource} 标记扩展 用法甚至适用于字符串或数值。
必须在 Setter 上同时指定 Property 和 Value
属性。 否则, (分析异常或运行时错误引发异常,具体取决于 Setter
是在 XAML 中创建还是在代码) 中修改。
如果使用代码访问 Setter 实例,则如果父 Styletrue
上的 IsSealed 属性Setter
的值为 ,则无法更改实例的任何属性的值。 这也由单个 Setter
的 IsSealed 属性报告。 当运行时将样式应用于 UI 元素并在 UI 中显示这些属性时,系统会将这些属性 true
设置为 。 尝试更改密封 Setter
会引发运行时错误。
样式和模板
可以使用 Style 中的 Setter 将值应用于任何依赖属性。 但它是Setter
控件派生类的 Template 属性,它构成了典型 Style
中的大多数 XAML 标记。
Value
具有 Property="Template"
的 的 Setter
几乎总是指定为包含 ControlTemplate 对象元素的属性元素。
使用 Style 定义控件模板时,元素的 Style
TargetType 及其 Control.Template setter 的 ControlTemplate 元素的 TargetType 应始终使用相同的值。
模板资源库为应用该模板的控件实例定义基本模板 UI 定义。 它还包含控件的视觉状态以及其他基于状态的 UI 定义,例如默认主题切换。 对于复杂控件(如 ListBox),默认模板 Style 和 中的 ControlTemplate 可以有数百行 XAML。 有关 在控件模板化方案中的角色 Style
的详细信息,请参阅 XAML 控件模板。