我可能在WPF设计的基础知识方面有所遗漏,但是我想知道为什么许多WPF控件的属性都以类型“Object”的形式公开?
例如,MenuItem.Icon 是一个 Object,MenuItem.ToolTip 也是。作为一个几乎是第一次使用者,这让我感到非常困惑(感觉自己正在使用动态编程语言,不知道将 ToolTip 设置为 String 类型是否会有效)。此外,我试图将 Icon 设置为“System.Drawing.Icon”,但我得到了一个 ArgumentException,上面写着“参数‘picture’必须是可用作图标的图片”。难道属性不应该被分类,以便至少能描述你应该给它什么吗?
老实说,我猜测原因是你不能在你没有创建的类型上实现一个接口(除非创建一个包装器),但这只是一个猜测。
非常感谢您提供的答案和见解!