0

我的 Windows Store 应用程序中有几个页面,在 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}" />

MainPage.xaml.cs:

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

为了让它工作,我尝试过:Page2.xaml:

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

但这没有用。我怎样才能做到这一点?

4

1 回答 1

1

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

基本上,您将所有数据(在“Model-View-ViewModel”设计中描述为“Model”,缩写为 Mvvm)放入“ViewModel”对象中。在这种情况下,您的ObservableCollection. 然后你的所有页面都直接绑定到你的 ViewModel 中。Mvvm 创建一个静态的“ViewModelLocator”,它允许你设置所有绑定的源,并让它很容易地工作。

于 2013-08-06T18:01:22.177 回答