2013-10-25 50 views
0

我正在創建一個wp8應用程序。我有兩個視圖和兩個的ViewModels: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我改變了觀點的DataContext的:

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

但是,當我運行應用程序..沒有信息顯示。

Thx提前。

回答

0

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> 

問候

相關問題