Windows Phone 8 ApplicationBar расширен неизменной прозрачностью
Следующий код...
<!--Navigation-Bar-->
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" ForegroundColor="White" IsMenuEnabled="True" BackgroundColor="#002B55">
<shell:ApplicationBarIconButton Click="B_Search_Click" IconUri="Images\Pic_Search.png" Text="Search"/>
<shell:ApplicationBarIconButton Click="B_Media_Click" IconUri="Images\Pic_Media.png" Text="Media"/>
<shell:ApplicationBarIconButton Click="B_Scan_Click" IconUri="Images\Pic_Scan.png" Text="Scanner"/>
<shell:ApplicationBarIconButton Click="B_Charts_Click" IconUri="Images\Pic_Charts.png" Text="Charts"/>
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem Click="B_Logout_Click" Text="Logout"/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>
дает мне следующий ApplicationBar...
http://s14.directupload.net/file/d/3341/4xiadbvz_jpg.htm(сплошной фон при расширении)
НО, если я создаю AppBar в CodeBehind, как это...
private void ResetApplicationBar()
{
ApplicationBar = new ApplicationBar();
ApplicationBar.BackgroundColor = Color.FromArgb(150, 0, 43, 85);;
ApplicationBar.ForegroundColor = Colors.White;
ApplicationBar.Opacity = 1;
ApplicationBarIconButton B_Search = new ApplicationBarIconButton();
B_Search.IconUri = new Uri("/Images/Pic_Search.png", UriKind.Relative);
B_Search.Text = "search";
ApplicationBar.Buttons.Add(B_Search);
B_Search.Click += new EventHandler(B_Search_Click);
(more Buttons...)
тогда я получаю эту мистерию неизменной прозрачности...
http://s1.directupload.net/file/d/3341/zjo57e37_jpg.htm(полупрозрачный при расширении)
Как я могу изменить фон на сплошной??? - Да, я в основном перезаписал тему - Изменение глобальных цветов не работает - изменение фона / переднего плана не работает - изменение непрозрачности не работает...
Мне нужно сгенерировать его из кода, потому что я изменяю его динамически в одном окне (или можно определить несколько AppBars в разметке?)
Заранее спасибо!
3 ответа
Большое спасибо за усилия, но изменение непрозрачности до 0,999 тоже не помогло.
Я нашел решение!! И это довольно просто:)
Я просто беру старую планку вместо создания новой:
//Old Code
ApplicationBar = new ApplicationBar();
//New Code
ApplicationBar.Buttons.Clear();
ApplicationBar.MenuItems.Clear();
Надеюсь, это поможет кому-то!
Примерьте вот это
ApplicationBar.BackgroundColor = Color.FromArgb(52,0,2,181);
ApplicationBar.ForegroundColor = Colors.White;
Таким образом, вы получите тот же цвет на странице дизайнера.
Это (52,0,2,181) значение конверсии #002B55
На свежем проекте все вроде нормально, здесь.
"- changing background/foreground doesnt work
- changing opacity doesnt work..."
Используя образец панели приложения, вы предоставили в XAML, но с Opacity=0.5
Я получаю это:
После того, как я нажимаю кнопку "Изменить цвет", которая делает ApplicationBar.Opacity = 1;
Я получаю этот результат:
(Фоновое изображение немного смещено вверх, потому что в первом случае мы предоставили прозрачность, а во втором не было явно указано ни одного, и кажется, что панель приложения не наслоена на изображение, но чтобы это исправить, вы можете установить Opacity=0.999
близко к 1).
Он должен иметь отношение к перезаписи всей темы или к какой-либо настройке, которую вы пытались выполнить.
Если это не очень полезно, предоставьте мне больше деталей, и я постараюсь помочь, насколько смогу.