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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MVVMLight绑定数据

發布時間:2025/3/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MVVMLight绑定数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  我們先新建一個WPF項目MVVMLightDemo,添加GalaSoft.MvvmLight.dll(沒有可以自己下載)

  

  然后在項目中添加三個文件夾,如圖:

    

  先添加我們的Model,在Model下新建一個類Student

  

using GalaSoft.MvvmLight; using System.Collections.ObjectModel;namespace MVVMLightDemo.Model {public class Student : ObservableObject{private int stuNo;public int StuNo{get { return stuNo; }set { stuNo = value; RaisePropertyChanged(() => StuNo); }}private string name;public string Name{get { return name; }set { name = value; RaisePropertyChanged(() => Name); }}public static ObservableCollection<Student> GetStudentList(){ObservableCollection<Student> list = new ObservableCollection<Student>();list.Add(new Student() { StuNo = 1, Name = "張三" });list.Add(new Student() { StuNo = 2, Name = "李四" });return list;}} }

  注意:1.該類繼承了ObservableObject,該類主要實現了屬性變更通知接口,如我們用到的:RaisePropertyChanged 方法

     2.該類中的GetStudentList()方法只是為了得到數據,我們項目里一般都是從數據庫查數據。

?

接著,我們在ViewModel下添加StudentViewModel文件,代碼如下:

using GalaSoft.MvvmLight; using MVVMLightDemo.Model; using System.Collections.ObjectModel;namespace MVVMLightDemo.ViewModel {public class StudentViewModel : ViewModelBase{private ObservableCollection<Student> studentData;public ObservableCollection<Student> StudentData{get{return studentData;}set{studentData = value;RaisePropertyChanged(() => StudentData);}}public StudentViewModel(){studentData = Student.GetStudentList();}} }

  注意:該類繼承了ViewModelBase(ViewModelBase 也繼承了ObservableObject),不要忘記using System.Collections.ObjectModel;

  我在該類的構造函數中,對 StudentData 進行了初始化,把數據給賦值上去了,那么在接下來的View中綁定 StudentData 才會出現數據。

?

最后,在View文件夾下添加StudentView.xaml文件。代碼如下:

1 <Window x:Class="MVVMLightDemo.View.StudentView" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 Title="StudentView" Height="300" Width="300"> 5 <Grid> 6 <DataGrid Name="studentDataGrid" ItemsSource="{Binding Path=StudentData}"/> 7 </Grid> 8 </Window>

僅這樣還不行,我們還需要讓View與ViewModel關聯起來,那么需要設置這個View的數據上下文。 在后臺編寫如下代碼(也可在前臺編寫綁定DataContext)

1 using System.Windows; 2 using MVVMLightDemo.ViewModel; 3 4 namespace MVVMLightDemo.View 5 { 6 public partial class StudentView : Window 7 { 8 public StudentView() 9 { 10 InitializeComponent(); 11 this.DataContext = new StudentViewModel(); 12 } 13 } 14 }

好了,到這里我們實現了MVVMLight的數據綁定,后面將在這個代碼的基礎上,介紹命令綁定。

?裝模作樣的聲明一下:本博文章若非特殊注明皆為原創,若需轉載請保留原文鏈接(http://www.cnblogs.com/kest/p/4691423.html)及作者信息k_est

?

轉載于:https://www.cnblogs.com/kest/p/4691423.html

總結

以上是生活随笔為你收集整理的MVVMLight绑定数据的全部內容,希望文章能夠幫你解決所遇到的問題。

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