日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

二、Silverlight中使用MVVM(二)——提高

發(fā)布時間:2023/11/27 生活经验 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二、Silverlight中使用MVVM(二)——提高 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在第一篇文章中的示例中,我們已經(jīng)簡單的了解了應用MVVM模式的流程,我的本意是你已經(jīng)了解了一點MVVM的概念,然后又沒有一個較好的例子學習,可以跟著我一起學習MVVM模式,所以這個部分,都是沒有理論知識的,當然整個例子學完后,我們會回過頭探討一下,將其總結出來。

現(xiàn)在我們主要在前面的示例上進行擴展,前面的示例中我們主要是將一個源對象綁定到DataGrid中的,接下來我們繼續(xù)使用MVVM模式,將DataGrid選擇行的變化體現(xiàn)界面中,其實通過這個需求變化,你會發(fā)現(xiàn)UI與邏輯分離帶來的優(yōu)勢,盡管才開始似乎有點不習慣,但是相信你會不自覺的在項目傾向于中使用MVVM模式。

????? 需求:通過單擊DataGrid,將當前的選擇行的數(shù)據(jù)反映到TextBox中。

????? Model未發(fā)生變化,我們還用前面的Person.cs和Persons.cs兩個類,那么對于ViewModel,我們給其增加一個屬性

??????? private Person _getOnePerson;
??????? public Person GetOnePerson
??????? {
??????????? get { return _getOnePerson; }
??????????? set { _getOnePerson = value;
??????????? if (PropertyChanged != null)
??????????? {
??????????????? PropertyChanged(this, new PropertyChangedEventArgs("GetOnePerson"));
??????????? }
??????????? }
??????? }

????? 因為這里的屬性將發(fā)生變化,所以我們對PageViewModel類實現(xiàn)了INotifyPropertyChanged借口

????? UI層: 這里我們將GetOnePerson屬性綁定到DataGrid的SelectedItem屬性上

??????? <data:DataGrid AutoGenerateColumns="True" ItemsSource="{Binding Human}" 
?????????SelectedItem="{Binding GetOnePerson,Mode=TwoWay}"
??????? Height="200"? Name="dataGrid1" VerticalAlignment="Top" />
??????? <TextBox Text="{Binding GetOnePerson.age,Mode=OneWay}" 
????????Name="textBox1" VerticalAlignment="Top" Width="120" />
??????? <TextBox Text="{Binding GetOnePerson.name,Mode=OneWay}" 
????????Name="textBox2" VerticalAlignment="Top" Width="120" />

???? 我們在UI上增加了2個TextBox,用于反映頁面上的變化,主要就是注意一下Binding的對象

????? 這些都完成后,其它部分就不用改動了,我們已經(jīng)完成了這個功能,我們可以看看頁面的效果:???????? ??????????????????????????????????????????????????????????????????????

?????????????????????????????????????????

?

???????????????????????????????????????????????????????? 單擊前后的變化?????????????

功能雖較為簡單,但是剛接觸MVVM時, 要很順利的實現(xiàn)也不算是一件容易的事情,后面我會在這個例子的基礎上,通過使用Command實現(xiàn)一個較簡單的查詢。

轉載于:https://www.cnblogs.com/liuguanghai/p/3225975.html

總結

以上是生活随笔為你收集整理的二、Silverlight中使用MVVM(二)——提高的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。