Frame里的网页不能透明?

奇怪,Frame类有个Opacity属性,设置其值为0.2一点反应都没有,又貌似没有其他属性可以设置透明度,难道是bug?如果是这样,那么Frame肯定是不能实现有透明度变化的动画了……

用Google搜了一下,找到这样两个帖子:

The animation worked when applied on other elements in a test project I made, including a Frame element with just a solid red background. I think it’s just a limitation of the Frame element when rendering HTML. It uses the WebBrowser control which is just a wrapper around the MSHTML ActiveX control, I believe.

Hmm, it might be fun to write

WPF中Storyboard的奇怪问题

在设置了一个对象的Opacity动画之后,再为该对象设置一个Opacity值将会无效,奇怪的是也没有异常抛出,而且在该语句之后的语句也都不执行了。例如:

DoubleAnimation myDA = new DoubleAnimation(0.8, 0.0, new Duration(TimeSpan.FromMilliseconds(800)));

Storyboard.SetTargetName(myDA, “myObj”);
Storyboard.SetTargetProperty(myDA, new PropertyPath(Canvas.OpacityProperty));

Storyboard mySB = new Storyboard();
mySB.Children.Add(myDA);
mySB.Begin(myObj);

若在此后再设置该对象的Opacity值将会无效,例如:

myObj.Opacity

奇怪的Silverlight更新

写了两个多星期的WPF Application,今天需要在界面上增加点东西,想到用Blend 2来编辑XAML文件(画图还是比写代码方便很多),但是只有在Silverlight项目中才能方便地用Blend 2打开XAML文件,于是打开了一个最开始接触Silverlight时的几个例子,习惯性地Ctrl+F5,浏览器却给了我一个很大的惊奇:弹出了一个错误提示框:

The WPF/E installed on your system is no longer valid. Please go to
“http://go.microsoft.com/fwlink/?LinkID=81210&clcid=0x409e” for the latest version.

怏怏地跑到Silverlight官方网站去看看最新版本,找了半天还是只有Silverlight 1.1 Alpha-_-。好吧,我就当这个是最新版本了,重新下载了一遍,安装,按要求重启,打开项目,再编译运行,这次更是诡异了,浏览器一片空白,状态栏提示有JS错误。看看页面源代码,发现document.getElementById后的参数和div的id名称不一致了,我没有改过代码的呀!再开两个项目,发现还是这样,诡异的Orcas(Visual…

WPF中的定时器类

刚开始接触WPF不久,也是第一次尝试开始写C#,写定时器的时候以为C#中System.Timer中的Timer类,结果发现老是抛出个很奇怪的异常:

The calling thread cannot access this object because a different thread owns it.

后来才发现,其实WPF是有自己的定时器类的,那就是System.Windows.Threading中的Timer类,使用起来也很简单:

//构造一个DispatcherTimer类实例
DispatcherTimer dTimer = new System.Windows.Threading.DispatcherTimer();

//设置事件处理函数
dTimer.Tick += new EventHandler(dTimer_Tick);

//定时器时间间隔1s
dTimer.Interval = new TimeSpan(0,0,1);

//启动定时器