现在的位置: 首页 > 综合 > 正文

Silverlight 2
2011年06月07日 ⁄ 综合 ⁄ 共 835字 ⁄ 字号 评论关闭

今天想看看Silverlight中ComboBox控件的实现原理,用Reflector将System.Windows.dll中的资源保存了下来,在看ComboBox的Template时发现一个问题,如下图所示:

 

画红线的那句看起来比较奇怪,VisualStateManager好像只是和显示状态有关,在MSDN中没有看到与Setter标签配合使用的情况呀,查阅了Silverlight 《Beta 2 之后的重大更改》还是没有发现关于vsm:Setter的说明...

个人猜想这个应该还是Beta版和正式的差别之一吧,难怪前两天我反编译出来的代码老是报错,可能就是内含了这样的语句,但是仍有点不解的是,System.Windows里面的控件也包含了这句,为什么它们就不报错呢?也许...也许是与internal有关吧,MS总是喜欢搞这种飞机,B4!

---------------------------------2009-07-24修改-----------------------------
我收回我的B4,看起来是因为我的无知错怪了MS
今天无意中看到了这个贴子,又回去看了一遍generic.xaml,在文件头部位看到了如下代码:

<ResourceDictionary
  
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:vsm
="clr-namespace:System.Windows;assembly=System.Windows">

发现vsm原来影射的是System.Windows命名空间,我赶紧看Silverlight文档,在System.Windows名命空间下发现了Setter类...
以前一知半解以为vsm就是VisualStateManager

抱歉!评论已关闭.