我的任務是對現有程序進行一些更改。在選項卡控件中保存來自多個選項卡的數據
其中一項變化是實施'保存'按鈕。 點擊後,它會遍歷每個選項卡並將內容保存到數據庫,但我無法弄清楚如何正確訪問數據。
要添加的選項卡是單獨的視圖,每個視圖都有自己的視圖模型 - 包含tabcontrol的主視圖也具有其自己的視圖模型。
我該如何去訪問tabcontrol,遍歷每個選項卡並以有序的方式保存數據? (在這一點上我不知道,如果是相關的,以顯示任何代碼,但請做任何你需要收費)
我的任務是對現有程序進行一些更改。在選項卡控件中保存來自多個選項卡的數據
其中一項變化是實施'保存'按鈕。 點擊後,它會遍歷每個選項卡並將內容保存到數據庫,但我無法弄清楚如何正確訪問數據。
要添加的選項卡是單獨的視圖,每個視圖都有自己的視圖模型 - 包含tabcontrol的主視圖也具有其自己的視圖模型。
我該如何去訪問tabcontrol,遍歷每個選項卡並以有序的方式保存數據? (在這一點上我不知道,如果是相關的,以顯示任何代碼,但請做任何你需要收費)
假設,每個選項卡支持的改變保存,創建一個視圖模型,這將是上標籤查看模型頂部:
// this is the base class for tab view models
public class DocumentViewModel
{
public void SaveChanges() {}
}
// this is the view model for tab container
public class EditorViewModel
{
private SaveChanges()
{
foreach (var document in OpenedDocuments)
{
document.SaveChanges();
}
}
public EditorViewModel()
{
SaveCommand = new RelayCommand(SaveChanges);
}
// this is your tabs
public ObservableCollection<DocumentViewModel> OpenedDocuments { get; private set; }
public ICommand SaveChangesCommand { get; private set; }
}
如果我理解正確,您的viewmodel中可以訪問所有數據,則無需遍歷tabcontrol中的選項卡。 「保存」按鈕應綁定到從每個選項卡視圖模型收集數據的命令。