2013-08-13 62 views

Trả lời

3
if((Visibility)App.Current.Resources["PhoneDarkThemeVisibility"]) 
... 
else 
... 
+0

@YaroslavShabanov nếu điều này đã trả lời câu hỏi của bạn xin vui lòng kiểm tra dấu. –

0
// 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; 
     } 
    } 
6

Bạn muốn tìm câu trả lời của bạn trong official MSDN page cho Theme trên Windows Phone.

Trong phần "Xác định Theme nền" mà chỉ ra:

// 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"; 
} 

Ngoài ra, trong trang này, bạn đã phần nội dung về "màu giọng chủ đề". Để khôi phục hai màu chính do người dùng xác định (màu nền và màu nhấn).

1

tôi tìm cách tiếp cận đơn giản nhất để xác định chủ đề là sử dụng:

public bool darkTheme = ((Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"] == Visibility.Visible); 

là darkTheme là đúng thì các chủ đề được lựa chọn là đen, và sai đối với ánh sáng.

Sau đó, trong bất cứ thủ tục chỉ cần sử dụng một tuyên bố đơn giản if, chẳng hạn như:

if (darkTheme == true) 
{ 
    //Do some stuff related to dark theme 
} 

else 
{ 
    //Do some stuff related to light theme 
} 
+0

tại sao không chỉ làm nếu (darkTheme)? –

+0

Bạn cũng có thể làm việc. – Newbie

+0

Đúng, một trong hai công việc, nhưng một là cách thuận làm điều đó và khác là cách Newbies làm điều đó lol. –