2011-03-16 160 views
1

我有一個工作pivotviewer 128個圖像的汽車,我把自己放在一起。我使用網絡上的許多教程中的一個來使其工作,並且它運行良好。然後,我想我應該修飾一下頁面,所以我把pv所在的網格放置在一個綁定的堆棧面板中,並在上面有幾個文本塊來告訴集合是什麼。一切除了圖像加載好。註釋掉stackpanel線,它完美地工作。爲什麼stackpanel會破壞我的pivotviewer?

任何想法?怎麼會這麼簡單失敗?

這裏是所有的代碼在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」,是你的主要佈局控制。你需要將你的StackPanel包裝在Grid控件中。

事情是這樣的:

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

你對你的網格聲明之後,我想補充一些行,即0,1,2,然後,我會佈置你Stackpanels,PivotViewer等

希望這可以幫助。

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! 
    } 
相關問題