8

Windows Phone 7.1 Mango uygulamasında, yerleşik tema renklerini çoğunlukla başarıyla devre dışı bıraktığım bir uygulama var. Ancak, kullanıcının beyaz teması seçildiğinde ve sayfanın koyu arka planı ve karanlık uygulama çubuğu varsa, uygulama çubuğu can sıkıcı bir titreşime neden olan beyaz bir arka plan ile işlenir ve canlandırılır. Animasyon yaptıktan sonra arka plan rengi uygun bir şekilde koyu bir renge döner.WP7 beyaz temasında ApplicationBar'ın titremesini nasıl önleyebilirsiniz?

Uygulama çubuğu animasyonunu devre dışı bırakmak veya ilk animasyon arka plan rengini ayarlamak için bir yol var mı? geride

<phone:PhoneApplicationPage x:Class="AppBarFlickers.Page1" 
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
          xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" 
          xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
          xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
          xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" 
          mc:Ignorable="d" 
          d:DesignWidth="480" 
          d:DesignHeight="728" 
          SupportedOrientations="Portrait" 
          Orientation="Portrait"> 
    <Grid Background="Black"> 
     <Button Content="Toggle App Bar" 
       Margin="100,185,100,0" 
       VerticalAlignment="Top" 
       Click="ButtonClick" 
       Foreground="White" 
       Background="Black" 
       BorderBrush="White" /> 
    </Grid> 
    <phone:PhoneApplicationPage.ApplicationBar> 
     <shell:ApplicationBar BackgroundColor="Black" 
           ForegroundColor="White"> 
      <shell:ApplicationBarIconButton IconUri="/icon.png" 
              Text="Button 1" /> 
     </shell:ApplicationBar> 
    </phone:PhoneApplicationPage.ApplicationBar> 
</phone:PhoneApplicationPage> 

Kod:

bu video capture of the flickering issue.

Xaml Bkz ApplicationBar gizleme iken arka plan yüklü değil gibi

public partial class Page1 
{ 
    public Page1() 
    { 
     InitializeComponent(); 
    } 

    private void ButtonClick(object sender, RoutedEventArgs e) 
    { 
     ApplicationBar.IsVisible = !ApplicationBar.IsVisible; 
    } 
} 

cevap

19

görünüyor. Çubuğu gizler, ve daha sonra arka planı yükler, böylece titreme yapar.

Bir geçici çözüm bulundu: uygulama çubuğunun opaklığını 0,99 olarak ayarlayın. Şeffaflığın görünmez olması için yeterince yüksektir ve uygulamayı arka plana yüklemeye zorlar.

<phone:PhoneApplicationPage.ApplicationBar> 
    <shell:ApplicationBar BackgroundColor="Black" ForegroundColor="White" Opacity=".99" > 
     <shell:ApplicationBarIconButton IconUri="/icon.png" Text="Button 1" /> 
    </shell:ApplicationBar> 
</phone:PhoneApplicationPage.ApplicationBar> 
+1

Dang, +25 rep. Ayrıca, orada şeffaf bir uygulama çubuğum var, çünkü neden katı arka plan olmayan ekranlarda bunu yapmıyor açıklar. Teşekkürler! – bkaid

+1

Siz bu tür şeyleri nasıl biliyorsunuz :-) – Mahantesh

+0

@KooKiz harika bir çözüm. Çok teşekkürler. –