我的Windows应用商店应用程序和MainPage.xaml中有一些页面,我有一个GridView,它绑定到MainPage.xaml.cs中的ObservableCollection。
我还需要在不同页面上有一个GridView,例如,Page2.xaml,它绑定到位于MainPage.xaml.cs中的ObservableCollection。
现在,我想如果我制作了ObsCollection public _static_
,我就可以从XAML的Page2页面绑定它,但我错了。我该怎么做?
的MainPage:
<TextBlock x:Name="text" Text="{Binding MyClass}" />
MainPage.xaml.cs中:
public static ObservableCollection<MyClass> ObsCollection = new ObservableCollection<MyClass>();
为了让这个工作,我尝试了: Page2.xaml:
<TextBlock x:Name="textBlock" Text="{Binding MainPage.MyClass}" />
但是这没用。我怎样才能做到这一点?
答案 0 :(得分:1)
你应该使用Mvvm。尝试检查Mvvm Light,因为它很容易实现。
基本上,您将所有数据(在“Model-View-ViewModel”设计中称为“模型”,缩写为Mvvm)放入“ViewModel”对象中。在这种情况下,您的ObservableCollection
。然后,您的所有页面都直接绑定到ViewModel。 Mvvm创建了一个静态“ViewModelLocator”,允许您设置所有绑定的源,并使其非常容易地工作。