【发布时间】:2020-08-04 18:25:13
【问题描述】:
MSDN documentation 指定在定义自定义控件时,应定义控件协定。从那个页面,它是这样定义的:
[TemplatePart(Name = "UpButtonElement", Type = typeof(RepeatButton))]
[TemplatePart(Name = "DownButtonElement", Type = typeof(RepeatButton))]
[TemplateVisualState(Name = "Positive", GroupName = "ValueStates")]
//...rest cut for length
public class NumericUpDown : Control
//...
我在文档中找不到指定如何发现此合同的任何地方。如果我重写了控件模板,我怎么知道我已经处理了所有的 VisualStates,并且我已经实现了所有的 Parts?
This answer 链接到相同的文档,并提供了一种通过反射进行此操作的方法,但这在设计时没有帮助。我真的仅限于编写一个转储反射属性的控制台应用程序,还是咨询documentation(可能不适用于第 3 方控件)?
【问题讨论】:
-
查阅文档或控件的元数据是要走的路。您应该考虑是否真的想使用没有像样文档的第三方库。
标签: wpf custom-controls controltemplate