0
如何創建視圖模型,在某些情況下,其某個屬性引用靜態對象而其他屬性引用實例並仍保留綁定?MVVM傳遞綁定
可以說,我希望我的視圖模型爲「ShoppingCartPage」看起來像這樣:
public class ShoppingCartViewModel
{
public ShoppingCart Cart { get; set; }
public void AddItem(Item item);
public void RemoveItem(Item item);
public ShoppingCartViewModel(ShoppingCart cart)
{
Cart = cart;
}
}
現在,我的問題是如何能夠通過在車的靜態實例,並仍允許的綁定查看到視圖模型上班。
編輯:
我有在我宣佈車的單/靜態實例的靜態數據訪問類:
public static class DataAccess
{
public static Cart UserCart = new Cart();
...
}
我用它來從應用的任何填充的車。
我可以創建直接綁定到這個對象的視圖。
不過,我寧願移動到我可以處理車序列化實例從服務器上像這樣的模式:
public class ShoppingCartPage
{
public ShoppingCartPage(ShoppingCartViewModel vm)
{
//psuedo code
Label1.Bind(SomeProperty, vm.Cart);
}
}
,對於其中vm.Cart沒有改變的情況下工作。但是,當Cart是DataAccess.UserCart並且我調用DataAccess.UserCart.AddItem(New Item())時,VM不知道這些數據的更改。
_「我如何傳入購物車的靜態實例」_ - 請定義「靜態實例」。這聽起來像對我來說是一種矛盾。另外,請解釋「工作」的含義。解決你的問題,以便它包含一個很好的[mcve],清楚地顯示你已經嘗試過和/或希望代碼執行什麼。現在解釋_precisely_該代碼的作用,以及您希望它做什麼。目前,你的帖子並不完全清楚你想要做什麼,也不知道你希望從代碼中得到什麼樣的行爲。 –