无论MSDN文档、Visual Studio 2008的对象浏览器、Reflector都证明Selector是没有SelectedValue属性的,但一次调试程序时的偶然发现使我不得不质疑这个问题。
我的XAML用户控件中有一个名为cmbNormal的ComboBox(ComboBox类是从Selector继承的),以下是调试时的局部变量窗口截图:
注意一下选中行,从图中可以看到ComboBox是有SelectedValue和SelectedValuePath这两个属性的,且这两个属性是从Selector类中继承。但是用我所想到的任何其他方法都找不到这两个属性,更无法使用这两个属性,这是为什么???
答案貌似已经揭晓:
Silverlight 3 中的Selector类是没有这两个属性的,但Silverlight 4中的Selector类有这两个属性。用Silverlight 3 开发竟然把Silverlight 4中的属性显示出来了,晕!