【发布时间】:2019-12-27 12:32:46
【问题描述】:
我有一个自定义按钮,并且我已经在前景上设置了一个依赖属性,除了第一次尝试传递 null 而不是预期的蓝色纯色画笔之外,事件都很好地引发。
代码在后续调用中会很好地更改颜色,因此这只是我遇到问题的初始设置。任何帮助将不胜感激。
这是我的代码:
Public Shared Shadows ReadOnly ForegroundProperty As DependencyProperty = DependencyProperty.Register("Foreground",
GetType(Brush), GetType(TouchButton), New PropertyMetadata(New SolidColorBrush With {.Color = Colors.Blue},
New PropertyChangedCallback(AddressOf OnForegroundChanged)))
【问题讨论】:
-
控件已经有一个 Foreground 属性。如果您的 TouchButton 没有从控件继承,那将是一个有点奇怪的命名,但我想仍然可能。如果是这样,那么您有两个前景属性,这将意味着奇怪的行为。无论哪种方式,我都强烈建议为您添加的任何依赖项属性使用唯一名称。
-
我正在隐藏依赖属性并在前景属性上使用重载,这允许我将前景用作依赖项。正如我所说,它适用于所有其他方面,但没有设置默认值。
标签: wpf vb.net dependency-properties