我必須建立一個形式(XAML),其將被用於在創建一個數據庫記錄,以後將通過使ID進行編輯。在表單中將會出現組合框,這些組合框將從數據庫填充,並且還會有文本框。我不想重複添加和編輯的XAML,並儘可能地重新使用代碼。我如何在MVVM中實現這一點?我想要使用MVVM的最佳實踐。如果任何人都能提出一個很棒的關鍵點。的Silverlight MVVM添加/編輯
0
A
回答
0
這是一個非常普遍的情況。
您可以創建一個XAML控件/頁面,該控件/頁面接受特定類型的對象/實例並允許編輯該對象的屬性。
如果是編輯,則傳遞一個從數據庫預填充的對象。
如果是創建,則傳入該類型的新實例。
呼叫者/主機會知道什麼樣的對象傳遞給編輯控制。
所以,當通過編輯器,添加/更新到數據庫返回的對象返回可以通過呼叫方/主機的照顧。
+0
你有這樣的例子嗎?我需要1個視圖和2個視圖模型還是需要? – Sean 2012-08-12 13:54:58
0
可以使用從Silverlight工具包,其提供不同的編輯模式數據形 - 例如添加,編輯。
這裏的方法的輪廓。你將需要兩個視圖模型。一個用於數據,另一個用於表單。
// FormViewModel.cs
public class FormViewModel
{
public Customer DataItem {get; set;}
// --------- perform action ---------------
private ICommand _PerformActionCommand = new DelegateCommand(PerformAction);
public ICommand PerformActionCommand {
get { return _PerformActionCommand; }
}
public void PerformAction()
{
if (Customer.IsNew)
InsertCustomer(Customer);
else
SaveCustomer(Customer);
}
// ------ Button Label --------------
public string ButtonLabel {
get {
return (Customer.IsNew)? "Add": "Update";
}
}
}
這裏的形式:
<UserControl.Resources>
<local:FormViewModel x:Key="formVM" />
</UserControl.Resources>
<Button
Content="{Binding Path=ButtonLabel
Source={StaticResource formVM}}"
Command="{Binding Path=PerformActionCommand,
Source={StaticResource formVM}}" />
相關問題
- 1. 使用MVVM在Silverlight 3 DataGrid中編輯新添加的行
- 2. 用於添加和編輯的多個ViewModels(WPF,MVVM)
- 3. 添加/編輯
- 4. 在分層數據結構中向MVVM添加編輯
- 5. Silverlight DataGrid內嵌MVVM加入
- 6. Silverlight 4 MVVM應用程序,由用戶編輯resx,僅混合?
- 7. Dataform編輯模式&導航離開頁面。 MVVM Silverlight
- 8. CheckedListBox編輯/添加
- 9. 使用MVVM/MVVM-Light編輯記錄
- 10. 的Silverlight與MVVM
- 11. 編輯silverlight示例
- 12. 如何在Silverlight中添加/編輯DataServiceQuery LINQ投影?
- 13. 在Silverlight數據網格中編輯,添加和刪除行?
- 14. mvvm圖形編輯器
- 15. 我如何添加一個「選擇」列到MVVM的Silverlight DataGrid
- 16. Silverlight MVVM MEF ViewInjection
- 17. Silverlight MVVM vs Prism
- 18. Silverlight MVVM問題
- 19. Silverlight MVVM問題
- 20. Silverlight Web App MVVM
- 21. Silverlight MVVM框架
- 22. Silverlight MVVM ListBoxItem IsSelected
- 23. Silverlight命令MVVM
- 24. Combobox MVVM silverlight messagebox
- 25. Silverlight DataBinding MVVM
- 26. 在Silverlight MVVM
- 27. MVVM在Silverlight
- 28. 添加ViewController與編輯ViewController
- 29. jEditable編輯和添加行
- 30. 編輯JSON - 添加屬性
這是一個信號你一個缺乏努力一個非常普遍的問題。嘗試研究一般的MVVM,然後再回答關於具體問題的問題。 – 2012-08-11 18:24:27