Skąd wiadomo, jaki motyw został wybrany w ustawieniach (jasne lub ciemne)? chcę użyć instrukcji warunkowej, takich jakMotyw w telefonie z systemem Windows (jasny lub ciemny) przy użyciu C#
if (darkTheme) {..}
else {..}
Skąd wiadomo, jaki motyw został wybrany w ustawieniach (jasne lub ciemne)? chcę użyć instrukcji warunkowej, takich jakMotyw w telefonie z systemem Windows (jasny lub ciemny) przy użyciu C#
if (darkTheme) {..}
else {..}
if((Visibility)App.Current.Resources["PhoneDarkThemeVisibility"])
...
else
...
// Detecting the current theme.
private static Color lightThemeBackground = Color.FromArgb(255, 255, 255, 255);
private static Color darkThemeBackground = Color.FromArgb(255, 0, 0, 0);
rivate static SolidColorBrush backgroundBrush;
internal static AppTheme CurrentTheme
{
get
{
if (backgroundBrush == null)
backgroundBrush = Application.Current.Resources["PhoneBackgroundBrush"] as SolidColorBrush;
if (backgroundBrush.Color == lightThemeBackground)
return AppTheme.Light;
else if (backgroundBrush.Color == darkThemeBackground)
return AppTheme.Dark;
return AppTheme.Dark;
}
}
BONUS: Instalacja ThemeManager Jeff Wilcox i przełączać się pomiędzy jasnymi i ciemnymi tematu w swojej aplikacji za pomocą jednego wiersza kodu!
Chcesz znaleźć odpowiedź w official MSDN page do tematu na Windows Phone.
W części „Określanie motywu tła”, które wskazują:
// Determine the visibility of the dark background.
Visibility darkBackgroundVisibility =
(Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"];
// Write the theme background value.
if (darkBackgroundVisibility == Visibility.Visible)
{
textBlock1.Text = "background = dark";
}
else
{
textBlock1.Text = "background = light";
}
Również na tej stronie, masz część na „temat” akcent koloru. Aby odzyskać dwa główne kolory zdefiniowane przez użytkownika (kolor tła i akcentu).
znajdę najłatwiejsze podejście do określenia tematem jest użycie:
public bool darkTheme = ((Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"] == Visibility.Visible);
jest darkTheme jest prawdziwe wtedy wybrany motyw jest ciemny i false dla światła.
Następnie w cokolwiek procedura wystarczy użyć prostego if
oświadczenie, takie jak:
if (darkTheme == true)
{
//Do some stuff related to dark theme
}
else
{
//Do some stuff related to light theme
}
dlaczego nie po prostu zrobić, jeśli (darkTheme)? –
Tak, możesz, albo działa. – Newbie
To prawda, albo praca, ale jeden z nich to robią profesjonaliści, a drugi to sposób, w jaki nowicjusze to robią. –
@YaroslavShabanov jeśli ten odpowiedział na Twoje pytanie prosimy o zaznaczenie. –