Setter.Property 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
public:
property DependencyProperty ^ Property { DependencyProperty ^ get(); void set(DependencyProperty ^ value); };
DependencyProperty Property();
void Property(DependencyProperty value);
public DependencyProperty Property { get; set; }
var dependencyProperty = setter.property;
setter.property = dependencyProperty;
Public Property Property As DependencyProperty
<Setter Property="propertyName"/>
属性值
将应用 Value 的 DependencyProperty。 默认值为 null。
示例
此示例演示如何以 TextBlock 元素的样式使用 Setter 语句。
<StackPanel>
<StackPanel.Resources>
<!-- Create a Style for a TextBlock to specify that the
Foreground equals Navy, FontSize equals 14, and
VerticalAlignment equals Bottom. -->
<Style TargetType="TextBlock" x:Key="TextBlockStyle">
<Setter Property="Foreground" Value="Navy"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="VerticalAlignment" Value="Bottom"/>
</Style>
</StackPanel.Resources>
<!-- Apply the TextBlockStyle to 2 different TextBlocks. -->
<TextBlock Style="{StaticResource TextBlockStyle}" Text=”Hello”/>
<TextBlock Style="{StaticResource TextBlockStyle}" Text=”World”/>
</StackPanel>
还可以通过在 AttachedPropertyProvider 中指定附加的属性名称,将 setter 应用于附加的属性值。PropertyName 窗体。 例如,若要将 Setter 用于附加属性 Canvas.Left,请使用此 XAML。
<Setter Property="Canvas.Left" Value="100"/>
注解
必须在 Setter 上同时Property
指定 和 Value 属性。 否则,将引发异常 (分析异常或运行时错误,具体取决于是使用 XAML 创建 Setter 还是在代码) 中修改。
如果使用代码访问 Setter 实例,则如果父 Styletrue
上的 IsSealed 属性的值为 ,则不能更改 Setter 实例的任何属性的值。 单个 Setter 上的 IsSealed 属性也报告了这一点。 当运行时将样式应用于 UI 元素并在 UI 中显示这些属性时,系统会将这些属性 true
设置为 。 尝试更改密封 的 Setter 会引发运行时错误。
可以使用 Setter 设置附加属性的样式。 在这种情况下,依赖属性名称是 XAML 中的限定名称,该名称也命名附加属性的定义类型。 例如, <Setter Property="AutomationProperties.LiveSetting" Value="Polite" />
可用于在任何控件或 UI 元素的样式中设置 AutomationProperties.LiveSetting 附加属性值。
注意
XAML 分析程序还接受包含限定类的依赖属性名称。 例如,分析程序将“Button.Background”或“Control.Background”解释为对 Button 样式中 Background 属性的引用。 不过,按类限定并不必要,这可能会导致标记混乱。 如果要从其他平台迁移 XAML,则可能会遇到或使用限定的属性名称用法。
标识依赖属性
如前所述,仅当相关属性是依赖属性时,才能使用 Setter 通过样式调整属性。 应用样式的 UI 属性几乎总是由Windows 运行时实现为依赖属性,而不是 UI 元素依赖属性的可设置属性则非常罕见。 如果要验证 Windows 运行时 属性是否为依赖属性,检查最初定义属性的类型的成员列表。 如果属性实际上是依赖属性,则依赖属性标识符也将存在于该类上,并且该标识符的名称与属性本身相同,但添加了后缀 属性 。 此依赖属性标识符是静态只读属性,通过代码在某些依赖属性方案中很有用。 例如,可以在代码中使用此类标识符值来调整现有的 Setter.Property 值,只要父样式尚未密封。
对自定义属性使用 Setter
对于你自己的自定义属性,如果想要支持样式,或者对于数据绑定或动画等其他方案,应将 属性声明为依赖属性。 如果这样做,则自定义属性也支持在具有引用自定义类型的 TargetType 的任何 Style 上设置样式。 有关详细信息,请参阅 自定义依赖属性 或 TargetType。