в С# Windows Phone 8.1, я создаю AppBarButton с этим кодом XAML:
<AppBarButton x:Name="btnMore" Icon="More" Foreground="White" IsEnabled="False" Label="More" Grid.Row="1" VerticalAlignment="Top" FontSize="18" Click="AppBarButton_Click" />
в темной теме телефона все в порядке:
но в теме LIGHT, цвет backcolor и font - черный:
Я попытался установить Background и BorderBrush для этой проблемы, но ничего не меняется, все еще в проходе Light Theme и круге черный (даже если кнопка включена)
<AppBarButton x:Name="btnMore" Icon="More" Foreground="White" IsEnabled="False" Label="More" Grid.Row="1" VerticalAlignment="Top" FontSize="18" Click="AppBarButton_Click" Background="White" BorderBrush="White" />
как я могу это решить?
Установка RequestedTheme="Dark"
на вашем AppBarButton
заставит его быть белым независимо от выбранной темы.
Почему вы устанавливаете Foreground="White"
на кнопку панели приложений? Кнопка панели приложения автоматически отрегулирует свои цвета в зависимости от выбранной темной/темной темы. Похоже, что вы вынудили цвет фона страницы черным, а цвет текста переднего плана - белым, поэтому, когда кнопка панели приложений меняет свои цвета, она больше не соответствует фону. Если вы хотите заставить приложение использовать только темную тему, тогда установите RequestedTheme="Dark"
на любом из ваших Application
, Page
или даже AppBarButton
(в зависимости от того, какую область действия вы хотите повлиять).
Ваша кнопка, скорее всего, находится внутри CommandBar. Перейдите в CommandBar и установите Foreground для любого цвета, который вам нравится. Это должно решить вашу проблему. Это сработало для меня.