亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Silverlight和WPF 環(huán)境下ObservableCollection類與界面控件同步的研究

        2014-04-19 08:01:53劉慶生
        石家莊學(xué)院學(xué)報 2014年3期
        關(guān)鍵詞:計算機系黃石數(shù)據(jù)源

        劉慶生

        (黃石職業(yè)技術(shù)學(xué)院 計算機系,湖北 黃石 435000)

        Silverlight和WPF 環(huán)境下ObservableCollection類與界面控件同步的研究

        劉慶生

        (黃石職業(yè)技術(shù)學(xué)院 計算機系,湖北 黃石 435000)

        Silverlight技術(shù)是微軟推出的一個跨平臺的瀏覽器插件,豐富的交互功能得到了業(yè)界的廣泛贊譽.在頁面呈現(xiàn)方面,Silverlight與傳統(tǒng)的Web刷新機制完全不同.其中,ObservableCollection類是開發(fā)人員用于與界面交互的常用手段.使用ObservableCollection構(gòu)建一個類,通過與List類對比來詮釋Silverlight技術(shù)中如何做到界面控件與后臺數(shù)據(jù)的同步.

        Silverlight;ObservableCollection;界面控件;同步

        0 引言

        Microsoft Silverlight是當(dāng)今一種新的Web呈現(xiàn)技術(shù),能在各種平臺上運行,它為用戶提供了統(tǒng)一而豐富的用戶體驗[1],借助這個技術(shù),無論是在瀏覽器內(nèi)還是在桌面操作系統(tǒng)中,都可以實現(xiàn)內(nèi)容豐富、視覺效果絢麗的交互式體驗.它的出現(xiàn),完善了企業(yè)應(yīng)用開發(fā),將成為下一代企業(yè)應(yīng)用程序的解決方案.

        1 通過Silverlight實現(xiàn)刷新頁面的優(yōu)勢

        刷新頁面是經(jīng)常性的操作,實現(xiàn)這種操作的方法很多,但是通過Silverlight實現(xiàn)更有優(yōu)勢.因為Silverlight有著類似C/S模式的特點,開發(fā)者不需要考慮使用Ajax來設(shè)計Web界面的局部刷新.ObservableCollection類是Microsoft.NET Framework一個特殊部件[2],可以讓界面與后臺數(shù)據(jù)源的變化保持一致.它可以在添加、刪除、移動、刷新或替換集合中的項目時引發(fā) CollectionChanged事件,還可以在窗口以外的代碼修改基礎(chǔ)數(shù)據(jù)時做出反應(yīng).下面,在Visual Studio 2010環(huán)境下使用C#為編程語言,通過一個實例來理解這一技術(shù).

        2 實例總體分析

        先提出設(shè)計目標(biāo).在一個DataGrid控件中,通過修改產(chǎn)品的數(shù)量,能夠自動更新金額的界面值.

        打開Visual Studio 2010,點擊新建“項目”->“Silverlight”->“Silverlight應(yīng)用程序”,然后輸入項目名稱后單擊“確定”.最后,在默認(rèn)的頁面MainPage.xaml中添加一個DataGrid控件,調(diào)整DataGrid的大小和位置即完成了界面控件的設(shè)計.下面是兩種方案的公共設(shè)計部分.

        2.1 方案的公共設(shè)計部分

        2.1.1 界面設(shè)計主要代碼如下(DataGrid1的Xaml代碼):

        2.1.2 后臺設(shè)計主要代碼(Xaml.cs)

        3 具體方案的分析

        3.1 使用List〈T〉數(shù)據(jù)作為DataGrid的數(shù)據(jù)源

        建立Sale類,代碼如下:

        在這種情況下,修改界面上的數(shù)量的值,金額不會發(fā)生變化.雖然我們通過設(shè)置斷點來檢查金額變量的值已經(jīng)發(fā)生變化,但是界面依然沒變化,這是因為List對象沒有通知界面刷新.

        3.2 使用ObservableCollection〈T〉做為DataGrid的數(shù)據(jù)源[3]

        因為要使用ObservableCollection,所以要添加引用:

        Sale類實現(xiàn)了INotifyPropertyChanged接口,當(dāng)屬性的值發(fā)生改變的時候觸發(fā)PropertyChanged事件,送達(dá)消息到界面,從而實現(xiàn)即時刷新.

        Sale類的代碼如下:

        本方案的關(guān)鍵在與Sale類的Money屬性在定義的時候,當(dāng)值發(fā)生改變的時候會觸發(fā)PropertyChangedE-ventArgs事件,通知界面刷新.特別要注意的是界面與數(shù)據(jù)源的綁定.Binding="{Binding Path=Money,Mode=TwoWay}",指定了綁定方式為TwoWay.Silverlight 3.0中綁定方式一共有3個值,BindingMode的枚舉值如下:

        OneWay和OneTime是數(shù)據(jù) (Model)發(fā)生變化時通知XAML中的控件.而TwoWay則是數(shù)據(jù)和XAML之間任何一方發(fā)生變化都會通知對方.在WPF中,BindingMode枚舉有5個值,默認(rèn)是Default:

        大部分值與Silverlight 3.0中一樣,OneWayToSource表示當(dāng)XAML中的控件發(fā)生變化時,通知數(shù)據(jù)源,但是在反方向上,數(shù)據(jù)源發(fā)生變化卻不會通知XAML中的控件,它和OneWay是正好相反的.

        4 結(jié)束語

        對比ObservableCollection和List.ObservableCollection是一個集合.但它是一個既實現(xiàn)了INotifyPropertyChanged接口又實現(xiàn)了INotifyCollectionChanged接口的集合,這是它與List的不同之處,所以,使用ObservableCollection注定要比List消耗性能.但使用ObservableCollection與控件綁定以后,可以避免先全部刪除再重載的過程,效率更高.在微軟的MSDN中,可以查詢到與ObservableCollection類相關(guān)的所有屬性、方法和接口,地址為:http://msdn.microsoft.com/zh-cn/library/ms668604.aspx.

        [1]張洪定.WF和Silverlight教程[M].天津:南開大學(xué)出版社,2012.

        [2]焦?jié)?對Silverlight中ObservableCollection自己的一點理解 [DB/OL].(2012-09-25)[2013-12-26]http://www.360doc.com/content/09/0609/09/67745_3823648.shtml.

        [3]ObservableCollection[DB/OL].(2009-12-19)[2013-11-28].http//msdn.microsoft./zh-cn/library/ms66860.aspx.

        (責(zé)任編輯 李健飛)

        A Research on Interface Control Synchronization under the Background of Silverlight and WPF

        LIU Qing-sheng
        (Department of Computer,Huangshi Vocational College,Huangshi,Hubei 435000,China)

        Silverlight technology is a cross-platform browser plug-in launched by Microsoft,and its rich interactivity has won widespread praise in the industry.In terms of page rendering,Silverlight is totally different from the traditional Web refresh mechanism.Among them,the Observable Collection class is frequently used by developers for interface interaction.Compared with the List class,the author uses Observable Collection to build a class,explaining how to do in Silverlight technology interface controls and backend data synchronization.

        Silverlight;Observable Collection;interface control;synchronization.

        TP316.7

        :A

        :1673-1972(2014)03-0030-05

        2014-01-11

        劉慶生(1971-),男,湖北咸寧人,副教授,主要從事計算機應(yīng)用及系統(tǒng)開發(fā)研究.

        猜你喜歡
        計算機系黃石數(shù)據(jù)源
        黃石國家公園慶祝150年蠻荒歲月——這是怎樣的歷史
        英語文摘(2022年5期)2022-06-05 07:46:42
        奮力創(chuàng)造建設(shè)現(xiàn)代化新黃石的嶄新業(yè)績
        黨員生活(2022年2期)2022-04-24 13:52:19
        黃石俱樂部度假別墅
        黃石高速公路改造項目中互聯(lián)網(wǎng)+工程建設(shè)管理系統(tǒng)的應(yīng)用
        計算機系簡介
        Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
        童年趣事之不一起玩的理由
        童年趣事之不一起玩的理由
        基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價研究
        俺咋找不到女朋友呢?
        91国产视频自拍在线观看| 国产精品va无码一区二区| 十八岁以下禁止观看黄下载链接| 中日韩欧美成人免费播放 | 亚洲av资源网站手机在线| 亚洲午夜无码毛片av久久| 成片免费观看视频大全| 国产精品久久久久久2021| 日韩亚洲午夜精品一区二区三区| 亚洲国产性夜夜综合另类| 在线涩涩免费观看国产精品| 国内精品一区视频在线播放| 亚洲一区二区三区偷拍自拍| 亚洲蜜臀av一区二区三区| 国产av麻豆mag剧集| 欧美中文在线观看| 久久精品国产亚洲av调教| 蜜桃一区二区三区视频网址| 国产精品视频露脸| 亚洲欧美一区二区三区国产精| 亚洲av乱码国产精品观看麻豆| 日本精品一区二区三区二人码| 国产综合无码一区二区色蜜蜜| 亚洲都市校园激情另类| 美女被强吻并脱下胸罩内裤视频| 欧美日韩精品乱国产| 成人国产精品免费视频| 麻豆国产VA免费精品高清在线| 国产精品大片一区二区三区四区| 奇米影视第四色首页| 99精品久久这里只有精品| 国产一区二区三区经典| 欧美又大粗又爽又黄大片视频| 亚洲国产韩国欧美在线| 乱色视频中文字幕在线看| 久久精品国产亚洲av久按摩| 日韩av东京社区男人的天堂| 2022Av天堂在线无码| 亚洲中文高清乱码av中文| 亚洲中文字幕无码av永久| 国产精品视频一区二区三区四|