0

wp8 アプリを作成しています。2 つのビューと 2 つのビューモデルがあります。

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

最初のものは正常に動作しています。ただし、2 番目のビューをビューモデルにバインドしようとすると問題が発生します。

まず、App.xaml.cs で、vmMainPage で行ったように vmResortInfo を初期化しました。

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

しかし、アプリを実行すると..情報は表示されません。

事前にt​​hx。

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 に答える