现在是时候为windows phone 8的pivot应用设计ViewModel了

本文关键字:应用 pivot ViewModel phone windows | 更新日期: 2023-09-27 17:49:26

我正在使用MVVM Light创建一个Windows Phone 8 Pivot应用程序,我想知道如何设计我的视图模型。应用程序的每个支点(总共3-4个)使用不同的数据集合。

我正在考虑的选项是:

  1. 有一个MainViewModel,其中包含不同轴的不同集合。我在MVVM上读到的最佳实践都是强制性的(这是我如何理解他们至少),一个视图应该有一个ViewModel,所以这个选项很自然。
  2. 为每个枢轴提供一个单独的ViewModel和一个MainViewModel来引用它们。这个选项对我来说在分离和代码结构方面更有意义。它确实使绑定和命令连接变得有点棘手。

你认为哪个选项更好?

现在是时候为windows phone 8的pivot应用设计ViewModel了

只有一个视图模型,然后每个视图模型都有单独的集合。有必要的集合项绑定到pivot项。

视图

<phone:Pivot x:Name="TutoPivot" 
        SelectionChanged="PivotSelectionChanged">
        <!--Pivot item one-->
        <phone:PivotItem Header="{Binding Collection1.Title}">
            <!--Double line list with text wrapping-->
            <phone:LongListSelector Margin="0,0,-12,0"
                SelectionChanged="LongListSelector_SelectionChanged"
                LayoutMode="Grid"
                GridCellSize="150,150"
                ItemsSource="{Binding Collection1.Items}"
                ItemTemplate="{StaticResource NewSoundTemplate}"
                                    />

ViewModel:

public class MainModel
{
    public ItemViewModel Collection1 { get; set; }
    public void LoadData()
    {
        Collection1=CreateCollection();

创建适当的数据上下文。

教程:数据绑定和透视教程