轉帖|其它|編輯:郝浩|2011-01-12 14:47:19.000|閱讀 871 次
概述:前幾天做了一個WPF的項目,代碼是從silverlight中拷出來的,但是運行時出現了很多錯誤,原因在于silverlight和WPF之間有很多區別之處,在此總結一下。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
前幾天做了一個WPF的項目,代碼是從silverlight中拷出來的,但是運行時出現了很多錯誤,原因在于silverlight和WPF之間有很多區別之處,在此總結一下。
1.在后臺根據前臺xaml文件的x:Name 來獲得控件
silverlight中:
Panel panle = this.LayoutRoot.FindName(account.Parent.Attribute("ID").Value) as StackPanel;
WPF中:
Panel panle = LogicalTreeHelper.FindLogicalNode(this.LayoutRoot, account.Parent.Attribute("ID").Value) as Panel;
2.動畫Storyboard 和依賴屬性 DependencyProperty 有鎖定的問題
在silverlight 沒有鎖定問題,可以在storyboar_Complate 中可以對DependencyProperty 屬性進行賦值
在WPF中,則兩者有鎖定問題,在storyboar_Complate 中必須對Storyboard 置空,然后才能對DependencyProperty屬性進行賦值,否則無法賦值成功
解鎖屬性 的相關代碼為: brdRoot.BeginAnimation(FrameworkElement.HeightProperty, null);
在這就是簡單的總結一下,但是原理性很強,為了這個問題浪費了很長的時間,并且請教了高手幫助,這對我以后的代碼編程道路提供了很大的幫助,呵呵
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載