從零開始搭建Wpf初學篇2-Prism實現界面綁定


前言:使用Prism作為MVVM框架進行搭建

第一步:在包管理器中安裝Prism

第二步:建立Views和ViewModels文件夾,把MainWindow移入Views,在ViewModels建立MainWindowViewModel,結構如下:

第三步:MainWindowViewModel繼承BindableBase(幫我們實現了INotifyPropertyChanged,這樣屬性改變能直接驅動界面變化),並加入如下代碼,將之前MainWindow上的部分功能移植過來,用MVVM的方法實現屬性和命令的綁定。

class MainWindowViewModel: BindableBase
{
    private string _noticeText = "歡迎來到AIStudio.Wpf.Client,讓我們一起從0開始學Wpf框架搭建吧!";
    public string NoticeText
    {
        get { return _noticeText; }
        set
        {
            SetProperty(ref _noticeText, value);
        }
    }

    private ICommand _clickCommand;
    public ICommand ClickCommand
    {
        get
        {
            return this._clickCommand ?? (this._clickCommand = new DelegateCommand(() => this.Click()));
        }
    }

    private void Click()
    {
        MessageBox.Show("HelloWorld, 您點擊了一下Button按鈕");
    }
}

第四步:將View與ViewModel進行關聯,並進行屬性綁定。

this.DataContext = new MainWindowViewModel();

<Grid>
    <TextBlock HorizontalAlignment="Center" Margin="0,160,0,0" Text="{Binding NoticeText}" TextWrapping="Wrap" VerticalAlignment="Top"/>
    <Button Content="點擊我" HorizontalAlignment="Left" Margin="355,236,0,0" VerticalAlignment="Top" Command="{Binding ClickCommand}"/>
</Grid>

第五步:運行看效果,但是提示報錯,因為我們移動了MainWindow的位置,需要改下啟動地址。

再運行就和之前的效果一模一樣了。

后續:下一章將實現,Prism進行區域Region視圖注入。

源碼地址:https://gitee.com/akwkevin/aistudio.-wpf.-client.-stepby-step

Prism相關推薦文章:Prism 8.0 入門(上):Prism.Core

另外推薦一下我的Wpf客戶端框架:https://gitee.com/akwkevin/aistudio.-wpf.-aclient


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM