介面控制元件DevExpress WinForms MVVM入門指南——詳細檢視導航
在之前的介紹中,您已經擁有了ViewModel和相關檢視,其中功能區項繫結到命令。但是主檢視中的功能區專案是假的並且沒有繫結到任何東西,因此從起始檢視導航是不可能的,首先為這些按鈕新增功能。
詳細檢視導航
詳細檢視中的導航與主檢視的導航實現相同,代表您需要更少的工作。 所有功能區專案都已經可以使用,因為它們繫結到由 Scaffolding Wizard 生成的命令,允許您跳過前面的一些步驟。
1. 用必需的屬性標記您的編輯表單檢視,來告訴您的ViewModel應該使用這些特定的檢視。
C#
//AccountEditFormView.cs [DevExpress.Utils.MVVM.UI.ViewType("AccountView")] //CategoryEditFormView.cs [DevExpress.Utils.MVVM.UI.ViewType("CategoryView")] //TransactionEditFormView.cs [DevExpress.Utils.MVVM.UI.ViewType("TransactionView")]
VB.NET
'AccountEditFormView.cs <DevExpress.Utils.MVVM.UI.ViewType("AccountView")> 'CategoryEditFormView.cs <DevExpress.Utils.MVVM.UI.ViewType("CategoryView")> 'TransactionEditFormView.cs <DevExpress.Utils.MVVM.UI.ViewType("TransactionView")>
2. 如果您想保留用於詳細檢視的導航服務,即使主檢視在本地註冊其服務,此檢視也是相對於詳細檢視的父檢視。 因此詳細檢視也將能夠檢索這些服務,否則如果您需要其他服務,請在詳細檢視中註冊它。下圖說明了使用WindowedDocumentManagerService並顯示在單獨
3. 作為一個小的修改,您可以修改編輯表單檢視模組的名稱。 預設情況下,它在集合專案的名稱後呼叫,加上 (New) 字 - 儲存在 CommonResourses 檔案中的值。 如果要重新命名模組,請搜尋位於“SingleObjectViewModel”中的 GetTitleForNewEntity 方法並修改其返回值,以下程式碼說明了一個示例。
C#
protected virtual string GetTitleForNewEntity() { return "Adding a new " + typeof(TEntity).Name; }
VB.NET
Protected Overridable Function GetTitleForNewEntity() As String Return "Adding a new " & GetType(TEntity).Name End Function
在本課中您已將檢視和檢視模型繫結到一個可靠的應用程式中,下一課將向您展示如何將資料容器繫結到資料來源。
DevExpress WinForm擁有180+元件和UI庫,能為Windows Forms平臺建立具有影響力的業務解決方案。DevExpress WinForms能完美構建流暢、美觀且易於使用的應用程式,無論是Office風格的介面,還是分析處理大批量的業務資料,它都能輕鬆勝任!
DevExpress技術交流群6:600715373 歡迎一起進群討論