亚洲免费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ù)源的期刊評價研究
        俺咋找不到女朋友呢?
        人妖国产视频一区二区| 深夜国产成人福利在线观看女同 | 亚洲av伊人久久综合性色| 99久久精品国产91| 国产色在线 | 日韩| 日韩精品一区二区三区视频| 亚洲综合久久1区2区3区| 日韩精品一区二区亚洲观看av| 亚洲精品无码专区在线在线播放| 女同视频一区二区在线观看| 国产成人亚洲精品无码av大片| 日本高清一区二区三区水蜜桃 | 男人扒开女人下面狂躁小视频| 亚洲AV无码成人精品区网页| 日韩伦理av一区二区三区| 女人无遮挡裸交性做爰| 人妻献身系列第54部| 亚洲中文字幕av天堂| 亚洲精品一区二区网站| 又爽又黄又无遮挡网站| 男女真实有遮挡xx00动态图| 亚洲综合精品在线观看中文字幕 | 欧美亚洲另类 丝袜综合网| 日韩午夜免费视频精品一区| 99精品人妻无码专区在线视频区 | 日本岛国视频在线观看一区二区 | 欧美黑人性色黄在线视频| 久久婷婷夜色精品国产| 四虎影在永久在线观看| 亚洲欧美另类激情综合区| 国产欧美激情一区二区三区| 亚洲一区二区三区精品视频| 成人精品视频一区二区三区尤物| 免费AV一区二区三区无码| 亚洲视频在线免费观看一区二区| 中文字幕免费在线观看动作大片| 人妻无码一区二区三区四区| 国产免费的视频一区二区| 日本久久精品中文字幕| 久久精品娱乐亚洲领先| 久久久久久免费播放一级毛片|