1

에뮬레이터에 대해 테스트 할 때 내 페이지가 정상적으로 표시되는 문제가 있습니다. 그러나, 내 장치에서 실행할 때 페이지가 비어 있습니다!항목 템플릿이있는 피벗 컨트롤이 에뮬레이터에서 작동하지만 실제 장치에서는 작동하지 않습니다.

은 내가 Pivot.ItemTemplate 내부 나는 ListBox.ItemTemplate

와 또한리스트 박스를, 항목 템플릿을 사용하여 피벗 컨트롤을 만드는 중이라서

코드 아래해야 3 개 피벗 항목 'PIVOT 테스트'라는 제목의 페이지를 생산 : '피벗 1', '피벗 2', '피벗 3'. 각 피벗 내부에는 목록이 있어야합니다. '피벗 1'의 경우 목록에 '이름 1', '이름 2', '이름 3'의 3 개 항목이 있어야합니다. '피벗 2'의 경우 목록에 '이름 1', '이름 2'의 ​​2 개 항목이 있어야합니다. '피벗 3'목록에서 한 항목이 있어야 들어 '이름 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; } 
} 

에뮬레이터에서이 작업을 실행하면 경험치를 제공합니다 다음과 같이 반사 된 결과 : I 장치에서이 프로그램을 실행할 때

pivot 1 screen shot 그러나 pivot 2 screen shot pivot 3 screen shot

, 단순히 아무것도가 도시입니다! 그것의 빈 페이지, 피벗 컨트롤의 제목이지만 피벗 항목 및 ofc 목록 상자가없는 상단에 'PIVOT TEST'가 표시됩니다.

위의 코드는 추가 할 필요가 없으므로 테스트 프로젝트를 만들고 위의 코드를 복사하여 붙여 넣어 확인할 수 있습니다.

무엇이 원인 일 수 있습니까?

미리 감사드립니다.

편집 : 이것은 Windows Phone OS 7.1 프로젝트입니다. 그게 중요한지 나는 모른다.

답변

0

익명 형식의 사용이 장치에 표시되지 않는 페이지의 원인이라는 것을 알게 된 몇 가지 사항을 시도한 후에 필자는 이유는 확실하지 않습니다. 내 입력 된 클래스를 선언하고 익명 형식 대신 해당 형식을 사용하면 페이지가 장치에 제대로 표시됩니다.

+0

@AlaaMasaoud 안녕하세요, 내 바인딩이 제대로 작동하지만 장치에서 작동하지 에뮬레이터에서 동일한 문제가 있습니다. 내가해야 할 일 – Eldho

관련 문제