多个页面从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}" />
但这并没有奏效。我怎样才能做到这一点?
您应该使用Mvvm。试试Mvvm Light,因为它很容易实现。
基本上,您将所有数据(在"模型-视图-视图模型"设计中被描述为"模型",缩写为Mvvm)放入一个"视图模型"对象中。在这种情况下,您的ObservableCollection
。然后,所有页面都直接绑定到ViewModel中。Mvvm创建了一个静态的"ViewModelLocator",允许您设置所有绑定的Source,并使其非常容易地工作。