2010-11-11 99 views
2

Windows Phone 7中的慣用語是在屏幕的最頂部顯示加載指示符。 (我認爲裝載指示器和頂部之間沒有任何填充。)Silverlight:將一個元素放置在屏幕的頂部?

在Silverlight中執行此操作的最佳方法是什麼?這XAML的作品,八九不離十:

<Grid x:Name="LayoutRoot" Background="Transparent"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 

    <!-- this needs to be at the very top of the screen --> 
    <ProgressBar x:Name="LoadingProgressBar" IsIndeterminate="True" Style="{StaticResource PerformanceProgressBar}" Grid.Row="0"/> 

    <controls:Pivot Title="SECTIONS" x:Name="pivotControl" SelectionChanged="pivotControl_SelectionChanged" Grid.Row="1" /> 
</Grid> 

它會將ProgressBar靠近屏幕的頂部,但仍有空間。我可以申請一個負值保證金,但我懷疑有一個更優雅的方法。這樣做的首選方式是什麼?

回答

0

您的代碼適用於我。我粘貼了你的代碼,替換你的Pivot控件的按鈕。

alt text

什麼是你看到?

2

看一看PhoneApplicationPage的定義。 shell:SystemTray.IsVisible是否設置爲False?

我的猜測是你已經將它設置爲True(默認)。

如果是這種情況,頁面頂部的空間將被保留以顯示系統托盤。 (其中包括信號強度,電池電量指示符,時鐘等)如果將其更改爲False,則佈局引擎將爲您的控件使用所有可用空間。

這樣做的缺點是用戶在應用程序運行時將無法訪問托盤。

雖然通常在屏幕頂部放置一個inditerminate等待指示器,但在屏幕中間看到它也很平常。根據您實際在頁面上顯示的內容,如果您想保留查看系統托盤的能力,可以考慮這一點。

或者,您可以使用完全自定義的等待光標。

0

內置在Windows手機控制模板是地鐵造型。正如你所說,你可以使用喜歡的負邊緣(或我看過的控件中的填充)...... iirc,進度條的樣式使得如果高度不小於73像素,則進度條被遮擋。

或者,您可以通過重新設計混合中的控件並控制構成控件的構件組件中的屬性來找到此源。

要做到這一點,請點擊融合中的控件,編輯模板,編輯副本,然後就離開了。

相關問題