WP8 在第二个视图中绑定数据



我正在创建一个wp8应用程序。我有两个视图和两个视图模型:

VMMainPage vmMainPage -> MainPage.xamlVMresortInfo VMresortInfo -> resortInfo.xaml

第一个工作正常。但是,当我尝试将第二个视图与其视图模型绑定时,我遇到了问题。

首先,在我的App.xaml.cs中,我已经初始化了vmResortInfo,就像我对vmMainPage所做的那样。

    private static VMresortInfo vmResortInfo = null;
    public static VMresortInfo VmResortInfo
    {
        get
        {
            if (vmResortInfo == null)
            {
                vmResortInfo = new VMresortInfo();
            }
            return vmResortInfo;
        }
    }

然后,在resortInfo.xaml中.cs我更改了视图的数据上下文:

    public resortInfo()
    {
        InitializeComponent();
        DataContext = App.VmResortInfo;
    }

最后,我尝试将视图与视图模型绑定,如下所示:

       <phone:PivotItem Header="info">
            <ItemsControl ItemsSource="{Binding resort}">
                <ItemsControl.ItemTemplate> 
                    <DataTemplate>
                        <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="2*"/>
                            <ColumnDefinition Width="4*"/>
                        </Grid.ColumnDefinitions>
                            <StackPanel Margin="5,5,5,5" Grid.Column="0">
                                <TextBlock Text="{Binding status}"/>
                                <TextBlock Text="{Binding name}"/>
                            </StackPanel>              
                        </Grid>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </phone:PivotItem>

VMresortInfo 是:

public class VMresortInfo
{
    private Resort resort {get; set;}
    public VMresortInfo()
    {
        this.resort = new Resort();
        this.resort.name = "NAME";
        this.resort.status = "abierta";
        this.resort.imageURL = new Uri("/Assets/fm.png", UriKind.RelativeOrAbsolute);
    }
    public void setName(string resortNameSelected)
    {
            this.resort.name = resortNameSelected;
    }
}

但是当我运行该应用程序时,没有显示任何信息。

提前感谢。

Omg...我使自己变得不必要...

        <phone:PivotItem Header="info">                          
            <Grid>
                   <Grid.ColumnDefinitions>
                       <ColumnDefinition Width="2*"/>
                       <ColumnDefinition Width="4*"/>
                   </Grid.ColumnDefinitions>
                   <StackPanel Margin="5,5,5,5" Grid.Column="0">
                        <TextBlock Text="{Binding resort.name}"/>
                        <TextBlock Text="{Binding resort.status}"/>
                    </StackPanel>              
            </Grid>                
        </phone:PivotItem>

问候

相关内容

  • 没有找到相关文章

最新更新