新聞中心
大家知道,Silverlight開發(fā)工具出現(xiàn)的的時(shí)間應(yīng)該不短了。它正在不斷的進(jìn)行新版本的升級(jí)。那么在升級(jí)的過程中就會(huì)出現(xiàn)老版本與新版本之間的兼容性問題。在這里我們就會(huì)對(duì)Silverlight兼容進(jìn)行一下分析。#t#

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請(qǐng)、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、六合網(wǎng)站維護(hù)、網(wǎng)站推廣。
現(xiàn)在所有基于Silverlight 2.0開發(fā)的應(yīng)用程序都會(huì)被強(qiáng)制升級(jí)到 silverlight 3.0插件 ,這個(gè)在程序開發(fā)過程中本不可避免,但在升級(jí)中卻遇到了最讓人頭痛的問題,3.0中有些地方的改進(jìn)并不能保證對(duì)2.0應(yīng)用程序的完全兼容,這給基于商業(yè)應(yīng)用的網(wǎng)站帶來的無疑是一場(chǎng)災(zāi)難。
唉,貿(mào)然使用非開源的新技術(shù)確實(shí)是需要付出代價(jià)的。。本文就此列出所有從2.0 到 3.0 版本升級(jí)過程中會(huì)對(duì)舊版本造成影響的所有注意的地方,謹(jǐn)此提醒大家一句,不要貿(mào)然使用非開源的框架,否則你的程序并不控制在自己手里,聽說XP里不是發(fā)現(xiàn)了很多Hacker 么。。
Silverlight兼容1. 自 Silverlight 2 以來的重大更改
1.1 System.Web.Silverlight.dll 已從 Silverlight SDK 中刪除
1.2 Silverlight 應(yīng)用程序現(xiàn)在響應(yīng)瀏覽器縮放
1.3 彈出項(xiàng) Tab 鍵更改
1.4 ComboBox 彈出項(xiàng)剪切已修復(fù)
1.5 在 PopupRenderTransform 更改后 Silverlight 始終重繪彈出項(xiàng)
1.6 ContentPresenter.Content = "string" 不再更改 ContentTemplate 屬性
1.7 在使用空的 ContentTemplate 時(shí),ContentControl 現(xiàn)在將忽略內(nèi)容
1.8 設(shè)置 ContentControl.Content 不會(huì)導(dǎo)致不需要的 OnApplyTemplate 調(diào)用
1.9 在 ItemsSource 設(shè)置為具有 typeconverter 的枚舉時(shí),ComboBox 和 ContentControl 現(xiàn)在顯示字符串,而非數(shù)字
1.10 沒有所選項(xiàng)的 ComboBox 采用額外的擊鍵來選擇第二個(gè)項(xiàng)
1.11 HorizontalScrollBarVisibility 和 VerticalScrollBarVisibility 現(xiàn)在可以在 ComboBox 和 ListBox 的樣式中設(shè)置
1.12 ListBoxItem.HorizontalContentAlignment 現(xiàn)在受到重視
1.13 ListBoxItem.Style 現(xiàn)在優(yōu)先于 ListBox.ItemContainerStyle
1.14 在 ListBox 內(nèi)使用 Tab 鍵定位現(xiàn)在將焦點(diǎn)移到下一個(gè)控件,而非下一個(gè) ListBox 項(xiàng)
1.15 從 PasswordBox/TextBox 中刪除了 TemplatePart 聲明
1.16 TextBox 中的 TextAlignment 現(xiàn)在相對(duì)于文檔而非 TextBox 工作
1.17 只讀 TextBox 的默認(rèn)顏色已更改
1.18 ENTER 鍵現(xiàn)在注重 Button.ClickMode,后者默認(rèn)為 Release (KeyUp)
1.19 Slider 控件的命中測(cè)試區(qū)域現(xiàn)在與其可見部分匹配
1.20 clientaccesspolicy.xml 內(nèi)的格式錯(cuò)誤的 URL 現(xiàn)在導(dǎo)致該 URL 被忽略,而非文件的其余部分被忽略
1.21 錯(cuò)誤修復(fù):更改 Opacity 沒有始終導(dǎo)致重繪
1.22 DataBinding 要求屬性 setter 是公共的
1.23 不允許在 SetBinding() 后更改 Binding.Path
Silverlight兼容2 . 自 Silverlight 3 Beta 以來的重大更改
2.1 DockPanel、WrapPanel、Expander、HeaderedContentControl、Viewbox、DataForm 遷移到了 Silverlight 工具包
2.2 AutoCompleteBox:成員和類型重命名
2.3 AutoCompleteBox 的新模板部件:Selector, typeof(Selector)
2.4 AutoCompleteBox.TryGetSelectionAdapter(object o) 現(xiàn)在是 GetSelectionAdapterPart()
2.***utoCompleteBox:ToggleButton 類型的 DropDownToggle 模板部件已刪除
2.6 DataGrid RowGroupExpanding 和 RowGroupCollapsing 事件已刪除
2.7 DataGrid.SortDescriptions 和 GroupDescriptions 屬性已刪除
2.8 用 ValidationSummary 而非 ListBox 顯示 DataGrid 實(shí)體級(jí)別驗(yàn)證錯(cuò)誤
2.9 DataForm 更改
2.10 針對(duì) System.ComponentModel.dll 和 DataPager 的重大更改
2.11 PagedCollectionView
2.12 DataPagerAutomationPeer
2.13 BindableAttribute 和 BindingDirection 已刪除
2.14 對(duì) ValidationAttribute 的更改
2.15 [CustomValidation] 方法的簽名已更改
2.16 框架僅支持導(dǎo)航到頁面
2.17 與 UriMapper 相關(guān)的框架重大更改
2.18 效果文件 (.ps) 不再作為 Content 加載
2.19 WriteableBitmap 更改
2.20 RenderOptions.TextRenderingOptions 現(xiàn)在是 TextOptions.TextHintingMode
2.21 透明平臺(tái)擴(kuò)展不在 Microsoft.com 上承載
2.22 瀏覽器外 API 名稱更改
2.23 ExecutionStates.DetachedUpdatesAvailable 已刪除
2.24 Icon.Size 類型更改并且
2.25 XmlConvert.IsNCNameSurrogatePair() 和 IsStartNCNameSurrogatePair() 已刪除
2.26 SaveFileDialog.File -> SaveFileDialog.SafeFileName
2.27 DataAnnotations.Validator 重大更改
Silverlight兼容3 . 升級(jí)重大更改
3.1 OpenFileDialog.ShowDialog() 現(xiàn)在只能從用戶啟動(dòng)的事件打開
3.2 Tab 鍵定位處理和關(guān)聯(lián)的回調(diào)從異步更改為同步
3.3 彈出項(xiàng)內(nèi)的鼠標(biāo)事件現(xiàn)在提供相對(duì)于彈出項(xiàng)的位置,而非相對(duì)于整個(gè)應(yīng)用程序的位置
3.4 彈出項(xiàng)現(xiàn)在只能具有一個(gè)父級(jí)
3.5 彈出項(xiàng)內(nèi)的名稱范圍現(xiàn)在正常工作
3.6 FindElementsInHostCoordinates 現(xiàn)在搜索彈出項(xiàng)
3.7 刪除了與在 ItemsControl 中替換項(xiàng)相關(guān)聯(lián)的多余事件
3.8 ScrollViewer 現(xiàn)在將滾動(dòng)條位置固定到 ScrollableWidth/ScrollableHeight
3.9 在設(shè)置了 Stretch 并且 Height 和/或 Width 未設(shè)置時(shí),矩形和橢圓現(xiàn)在出現(xiàn)
3.10 TextBlock、TextBox 和 PasswordBox 的寬度現(xiàn)在向上舍入
3.11 textblock.FontFamily = null 引發(fā) ArgumentNullException
3.12 空格不再在模板內(nèi)的 Run 元素之間呈現(xiàn)
3.13 RadioButton.GroupName 現(xiàn)在在模板外搜索 RadioButtons
3.14 ComboBox 內(nèi)容現(xiàn)在令 IsHitTestVisible="false"
3.15 TextBox 現(xiàn)在注重 Opacity 屬性
3.16 具有空參數(shù)的 FrameworkElementAutomationPeer ctor 引發(fā) NullReferenceException
3.17 HyperlinkButton 現(xiàn)在將導(dǎo)航整個(gè)窗口,而不只是 Silverlight 位于其中的 IFRAME
3.18 更正了在 Silverlight v2+ 應(yīng)用程序不具有 XAP 文件擴(kuò)展名時(shí)使用的基 URI
3.19 Application.Current.Host.Source 現(xiàn)在返回絕對(duì) URL,甚至在 .xap URL 具有查詢字符串時(shí)也是如此
3.20 ResourceDictionary 枚舉錯(cuò)誤已修復(fù)
3.21 ReadOnlyObservableCollection 已從 System.Windows.Controls.Data.dll 遷移到 System.Windows.dll
3.22 DataGridEndingEditEventArgs 已從 Silverlight SDK 中刪除
3.23 PollingDuplexHttpBinding 更改
3.24 與刪除事件處理程序有關(guān)的錯(cuò)誤修復(fù)
3.25 錯(cuò)誤修復(fù):允許
3.26 XAML 中的自定義附加屬性要求 xmlns 為前綴
3.27 錯(cuò)誤修復(fù):子類控制可能會(huì)加載錯(cuò)誤的資源
3.28 錯(cuò)誤修復(fù):在路徑上的葉對(duì)象為空時(shí)不調(diào)用 ValueConverter
3.32 指向 .xap 外的資源的相對(duì) URL 現(xiàn)在相對(duì)于 .xap 文件,而非 HTML 頁
3.33 不再支持在 SetBinding() 后設(shè)置 Binding 屬性
3.34 ContentPresenter 的子級(jí)現(xiàn)在只能具有一個(gè)父級(jí)
3.35 Thumb 控件現(xiàn)在相對(duì)于絕對(duì)位置計(jì)算拖放,而非相對(duì)于其父級(jí)計(jì)算拖放
3.36 DataGrid 不再默認(rèn)選擇***項(xiàng)
對(duì)于Silverlight兼容的問題我們還需要在實(shí)踐中區(qū)慢慢積累經(jīng)驗(yàn)來進(jìn)行改造。
網(wǎng)頁標(biāo)題:各個(gè)版本Silverlight兼容問題解析
當(dāng)前路徑:http://fisionsoft.com.cn/article/cohjhhg.html


咨詢
建站咨詢
