2013-02-20 120 views
1

我遇到問題,當我根據模擬器進行測試時,頁面正常顯示。但是,當我在設備上運行它時,該頁面爲空!帶有項目模板的樞軸控制在模擬器上工作,但不在實際設備上

我正在與項目模板樞軸控件,Pivot.ItemTemplate裏面我有一個列表框也與ListBox.ItemTemplate

下面的代碼應該產生題爲「PIVOT TEST」與3個樞紐項目的頁面: '樞軸1','樞軸2','樞軸3'。每個支點內都應該有一個列表。對於'樞軸1',列表中應該有3個項目:'名稱1','名稱2','名稱3'。對於'數據透視表2',列表中應該有兩個項目:'名稱1','名稱2'。對於 '旋轉3' 應該是在列表1項: '名字1'

這裏是XAML:

... 
<controls:Pivot x:Name="pivot" Title="PIVOT TEST"> 
    <controls:Pivot.HeaderTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding TitleText}" /> 
     </DataTemplate> 
    </controls:Pivot.HeaderTemplate> 
    <controls:Pivot.ItemTemplate> 
     <DataTemplate> 
      <ListBox ItemsSource="{Binding List}"> 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
         <StackPanel> 
          <TextBlock Text="{Binding Name}" /> 
         </StackPanel> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 
     </DataTemplate> 
    </controls:Pivot.ItemTemplate> 
</controls:Pivot> 
... 

這裏是整個頁面的代碼:

public partial class PivotTest : PhoneApplicationPage { 
    private List<RandomObject> randomObjectList 
     = new List<RandomObject>(); 

    public PivotTest() { 
     InitializeComponent(); 

     randomObjectList.Add(new RandomObject() { 
      Name = "name 1" 
     }); 
     randomObjectList.Add(new RandomObject() { 
      Name = "name 2" 
     }); 
     randomObjectList.Add(new RandomObject() { 
      Name = "name 3" 
     }); 

     BindPivot(); 
    } 

    private void BindPivot() { 
     pivot.ItemsSource = new[] { 
      new { 
       TitleText = "pivot 1", 
       List = randomObjectList 
      }, 
      new { 
       TitleText = "pivot 2", 
       List = randomObjectList.Take(2).ToList() 
      }, 
      new { 
       TitleText = "pivot 3", 
       List = randomObjectList.Take(1).ToList() 
      } 
     }; 
    } 
} 

我也有一類正好填補隨機數據到列表框中:

public class RandomObject { 
    public string Name { get; set; } 
} 

在模擬器上運行這給EXP ected結果如下所示:

pivot 1 screen shot pivot 2 screen shot pivot 3 screen shot

然而,當我在設備上運行這個根本就沒有顯示在這個它是一個空白頁面,唯一顯示的是頂部的'PIVOT TEST',它是樞軸控件的標題,但沒有透視項目和沒有列表框。

上面的代碼不需要任何添加,你可以做一個測試項目並複製/粘貼上面的代碼來檢查。

這可能是什麼原因造成的?

在此先感謝!

編輯: 忘了提及這是一個Windows Phone OS 7.1項目。我不知道這是否重要。

回答

0

在嘗試了幾件事後,我發現使用匿名類型是頁面不能顯示在設備上的原因,但我不確定爲什麼。當我聲明我的類型類並使用這些類而不是匿名類型時,頁面在設備上顯示正常。

+0

@AlaaMasaoud嗨,我在模擬器我的綁定工作正常,但沒有在設備上工作相同的問題。我想要做什麼 – Eldho 2014-01-27 10:14:25

相關問題