我遇到問題,當我根據模擬器進行測試時,頁面正常顯示。但是,當我在設備上運行它時,該頁面爲空!帶有項目模板的樞軸控制在模擬器上工作,但不在實際設備上
我正在與項目模板樞軸控件,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 TEST',它是樞軸控件的標題,但沒有透視項目和沒有列表框。
上面的代碼不需要任何添加,你可以做一個測試項目並複製/粘貼上面的代碼來檢查。
這可能是什麼原因造成的?
在此先感謝!
編輯: 忘了提及這是一個Windows Phone OS 7.1項目。我不知道這是否重要。
@AlaaMasaoud嗨,我在模擬器我的綁定工作正常,但沒有在設備上工作相同的問題。我想要做什麼 – Eldho 2014-01-27 10:14:25