2011-03-16 4 views
1

나는 내가 조립 한 자동차 이미지를 128 개 가지고있는 피벗 뷰어가있다. 웹에서 많은 자습서 중 하나를 사용하여 제대로 작동하게했으며 제대로 작동합니다. 그런 다음 페이지를 조금 장식해야한다고 생각하여 pv가 경계 스택 패널 안에있는 격자를 그 위에있는 두 개의 textblocks와 함께 놓으면 컬렉션이 무엇인지 알 수 있습니다. 이미지를 제외한 모든 것이 잘로드됩니다. 스택 패널 선을 주석 처리하면 완벽하게 작동합니다.왜 스택 패널이 피벗 뷰어를 깰 수 있습니까?

아이디어가 있으십니까? 어떻게 그렇게 간단한 것이 실패 할 수 있습니까?

여기에서 MainPage.xaml에 모든 코드입니다 :

<StackPanel> 
    <TextBlock 
     FontSize="24" 
     HorizontalAlignment="Center" 
     VerticalAlignment="Top"> 
     Silverlight Pivotviewer Example 
    </TextBlock> 
    <TextBlock 
     FontSize="16" 
     HorizontalAlignment="Center" 
     VerticalAlignment="top"> 
     Cool Automobiles 
    </TextBlock> 
    <Grid x:Name="LayoutRoot" Background="White"> 
     <pivoter:PivotViewer x:Name="pivotViewer" /> 
    </Grid> 
</StackPanel> 

답변

0

, "이 LayoutRoot"당신의 그리드, 메인 레이아웃 컨트롤입니다. Grid 컨트롤 안에 StackPanel을 래핑해야합니다. 이 같은

뭔가 : 당신의 그리드의 당신의 선언 후

<Grid x:Name="LayoutRoot" Background="White" 
    <StackPanel> 
    <TextBlock 
     FontSize="24" 
     HorizontalAlignment="Center" 
     VerticalAlignment="Top"> 
     Silverlight Pivotviewer Example /> 
    <TextBlock 
     FontSize="16" 
     HorizontalAlignment="Center" 
     VerticalAlignment="top"> 
     Cool Automobiles /> 
    <pivoter:PivotViewer x:Name="pivotViewer" /> 
    </StackPanel> 
</Grid> 

, 나는 그럼 난 등 당신의 Stackpanels, PivotViewer을, 레이아웃 것 2. 일부 행, 즉 0, 1을 추가 할 수

희망이 도움이됩니다.

0

이것은 알려진 문제입니다. StackPanel은 무 차원 요소입니다. 너비와 높이 값을 StackPanel에 추가해야 PivotViewer가 올바르게 작동하기 시작합니다.

0

이것은 우리가 한 것입니다. 이벤트 처리기를 대화 상자의 SizeChanged 이벤트에 추가 한 다음 PivotViewer의 크기를 지정합니다. 또한 Initialise 또는 Loaded 이벤트가 호출 된 후에도 호출됩니다. 이동하는 방법을 확인 하시겠습니까?

void PivotDialog_SizeChanged(object sender, SizeChangedEventArgs e) 
    { 
    SizePivotViewer(); 
    m_PivotViewer.UpdateLayout(); 
    } 

    private void SizePivotViewer() 
    { 
    m_PivotViewer.Width = ActualWidth; 
    m_PivotViewer.Height = ActualHeight - 20; // Magic number so text will display properly at bottom of Pivot! 
    }