多个页面从MainPage.cs访问(绑定)ObservableCollection

本文关键字:访问 绑定 ObservableCollection cs MainPage | 更新日期: 2023-09-27 18:25:48

我的Windows应用商店应用程序中有几个页面,在MainPage.xaml中我有一个GridView,它绑定到MainPage.xaml.cs.中的ObservableCollection

我还需要在另一个页面上有一个GridView,例如Page2.xaml,它绑定到MainPage.xaml.cs.中的ObservableCollection

现在,我认为如果我制作了ObsCollection public _static_,我就可以从XAML中的Page2页面绑定到它,但我错了。我该怎么做?

主页:

<TextBlock x:Name="text" Text="{Binding MyClass}" />

主页.xaml.cs:

public static ObservableCollection<MyClass> ObsCollection = new ObservableCollection<MyClass>();

为了让它发挥作用,我尝试了:Page2.xaml:

<TextBlock x:Name="textBlock" Text="{Binding MainPage.MyClass}" />

但这并没有奏效。我怎样才能做到这一点?

多个页面从MainPage.cs访问(绑定)ObservableCollection

您应该使用Mvvm。试试Mvvm Light,因为它很容易实现。

基本上,您将所有数据(在"模型-视图-视图模型"设计中被描述为"模型",缩写为Mvvm)放入一个"视图模型"对象中。在这种情况下,您的ObservableCollection。然后,所有页面都直接绑定到ViewModel中。Mvvm创建了一个静态的"ViewModelLocator",允许您设置所有绑定的Source,并使其非常容易地工作。