0

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

VMMainPage vmMainPage -> MainPage.xaml VMresortInfo 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;
    }
}

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

提前谢谢。

4

1 回答 1

0

天哪……我让自己变得不必要了……

        <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>

问候

于 2013-10-26T08:48:55.503 回答