我有一个页面,它的绑定上下文被设置为SampleViewModel
。在那里我有一个项目列表(实际上是一个ObservableCollection)。每个项目都有一个添加到购物车按钮。当点击添加到购物车按钮时,
1.我将该项作为CartItemsList
添加到新ObservableCollection中
1.我更新了一个bool属性item.HasAddedToCart = true
。
1.我把CartItemsCount
加1。
然后像这样向购物车添加几个项目后,我导航到购物车页面。在购物车页面中,我需要显示CartItemsList
和CartItemsCount
。
由于我的ViewModel(SampleViewModel
)已经有了那些CartItemsList
和CartItemsCount
,我想将Cart页面的绑定上下文设置为相同的视图模型示例。但是当我在XAML中设置绑定上下文时,它会创建该视图模型的新示例。
从购物车页面删除购物车项目应该是可能的。因此,如果我从购物车页面删除购物车项目,如果我返回到主页,该更改也应该在主页中可见。因此,在相同的视图模型中维护CartItemsList
感觉是最好的方法。
但是如何将同一个vm示例设置为这两个页面的绑定上下文呢?
1条答案
按热度按时间csga3l581#
您可以为ViewModel创建一个静态类,以便可以调用同一个VM示例。
代码如下:
然后是Pages.xaml.cs: