Setter.Value 属性

定义

获取或设置要应用于 Setter 指定的属性的值。

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"/>

属性值

Object

Platform::Object

IInspectable

要应用于 Setter 指定的属性的值。

注解

从 XAML 语法中可以看到,有多种方法可以在 XAML 中为 Setter 指定 Value

  • 作为属性,使用字符串值。 对于简单情况,此类字符串值可以隐式转换为特定于属性的类型,例如设置数值、枚举中的命名值或统一资源标识符 (URI) 。
  • 作为在 XAML 对象元素语法中声明的全新对象,对象元素嵌套在属性元素用法中。
  • 作为在引号内具有 {StaticResource} 标记扩展 用法的属性。 通常,属性的值类型决定了适合的语法。 有关 XAML 用法的详细信息,请参阅 XAML 概述XAML 语法指南。 可以对大多数 XAML UI 属性使用属性语法,而专门要求使用属性元素或资源引用的 UI 属性则不太常见。 如果多个样式或属性共享这些值,则 {StaticResource} 标记扩展 用法甚至适用于字符串或数值。

必须在 Setter 上同时指定 PropertyValue 属性。 否则, (分析异常或运行时错误引发异常,具体取决于 Setter 是在 XAML 中创建还是在代码) 中修改。

如果使用代码访问 Setter 实例,则如果父 Styletrue上的 IsSealed 属性Setter的值为 ,则无法更改实例的任何属性的值。 这也由单个 SetterIsSealed 属性报告。 当运行时将样式应用于 UI 元素并在 UI 中显示这些属性时,系统会将这些属性 true 设置为 。 尝试更改密封 Setter 会引发运行时错误。

样式和模板

可以使用 Style 中的 Setter 将值应用于任何依赖属性。 但它是Setter控件派生类的 Template 属性,它构成了典型 Style中的大多数 XAML 标记。 Value具有 Property="Template" 的 的 Setter 几乎总是指定为包含 ControlTemplate 对象元素的属性元素。

使用 Style 定义控件模板时,元素的 StyleTargetType 及其 Control.Template setter 的 ControlTemplate 元素的 TargetType 应始终使用相同的值。

模板资源库为应用该模板的控件实例定义基本模板 UI 定义。 它还包含控件的视觉状态以及其他基于状态的 UI 定义,例如默认主题切换。 对于复杂控件(如 ListBox),默认模板 Style 和 中的 ControlTemplate 可以有数百行 XAML。 有关 在控件模板化方案中的角色 Style 的详细信息,请参阅 XAML 控件模板

适用于