【发布时间】:2010-06-07 16:04:10
【问题描述】:
在<ImageBrush/> 元素中,AlignmentX 和 AlignmentY 属性的值分别为 Left/Center/Right 和 Top/Center/Bottom。
我想要做的是设置我自己的值,例如,AlignmentX 作为一个值或另一个枚举,如 AlignmentX="HalfCenter" 其中HalfLeft 等于我自己的值(中间和左之间) .例如,如果我有这个:
<Rectangle Canvas.Left="0" Stroke="LimeGreen" StrokeThickness="16" Canvas.Top="0"
Width="400" Height="400" >
<Rectangle.Fill>
<ImageBrush ImageSource="newone.jpg"
Stretch="None" AlignmentX="HalfLeft" AlignmentY="Top" />
</Rectangle.Fill>
</Rectangle>
我不知道这是一个依赖属性、附加属性还是其他(还不知道如何创建它们)。在帮助文件中,它在TileBrush.AlignmentXProperty 字段中显示:Public Shared ReadOnly AlignmentXProperty As DependencyProperty。这里的 ReadOnly 字是否表示我不能将此属性设置为自定义属性?
如果这不能覆盖该属性,我该如何创建自己的?我认为这是一个附加属性,它可以被称为不同的东西,比如OffsetX 和OffsetY 将ImageBrush 设置为其父Shape 内的位置。我对 SL 文档中关于我将如何做到这一点感到非常困惑(VB.NET 中几乎没有示例 - 但即使是 C# 也不是那么具有启发性)。
如果可能,我将如何开始?
【问题讨论】:
标签: wpf silverlight dependency-properties attached-properties