0

ContentWorld RequestedTheme öğesini, UWP'de otomatik olarak genel tema ayarı (koyu veya açık) ile aynı kodla yük olayına nasıl sığdırabilirim? Bu hileyi kullandım, ancak etkili değil:Fit ContentDialog İstenenTheme UWP'ye Otomatik Olarak Olay Yüklüyor mu?

private void ContentDialog_Loading(FrameworkElement sender, object args) 
     { 
      string device = Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily; // (Mobile, Team(Surface Hub), Desktop, IoT. Device types. 
if (device == "Windows.Mobile") // If it is a phone 
      { 


     RequestedTheme = ElementTheme.Default; // Enable automatic theming in mobile. 

      } 
     } 

Teşekkürler. Eğer Default olarak ayarlayın yaparken, ElementTheme enumeration görebileceğiniz gibi

contentDialog.RequestedTheme = ElementTheme.Default; 

, bu Application.RequestedTheme kullanır:

+0

Varsayılan olarak, içerik iletişim kutusu genel temayı otomatik olarak sığacak, sorununuzu yeniden oluşturamıyorum, temayı nerede belirlediniz? Ve (bu içerik iletişim kutusunu tutan) sayfa yüklenirken 'ContentDialog_Loading' olayınız tetiklenmelidir. ContentDialog'unuzu nasıl oluşturdunuz? –

+0

Merhaba. İçerik iletişimimi kod değil XAML üzerinden oluşturdum. DesktopDialog RequestedTheme'yi masaüstü modunda doğru şekilde çalıştırmak için XAML tasarımcısında "Light" olarak ayarlıyorum. Evet haklısın. Yükleme sırasında tetiklenen olay yükleme, ancak şunu istiyorum: Aygıt bir Windows Phone ise, ContentDialog için temayı varsayılan olarak telefona (Koyu veya Açık) ayarlayın. Sorun şu ki, cihaz varsayılan olarak Windows Phone ise, ContentDialog teması her zaman "Koyu". "Ayarlar" dan değiştirmenin bir etkisi yok. Bu sorunu çözebilir miyim? Teşekkürler. –

cevap

1

Ben Applicaition.RequestedTheme böyle örneğin, uygulandıktan sonra çalışma anında tema değerlerini belirterek düşünüyorum eleman için değer.

Yani kodunuzda bir yere düşünmek, ayarladığınız Application.RequestedTheme mobil ortamda kodunuzu çalıştırdığınızda Dark için.

varsayılan olarak sadece kendi App.xaml dosyasında RequestedTheme="Dark" veya RequestedTheme="Light" kaldırabilir, değişen kullanıcı tarafından ayarlarına göre ContentDialog 'nin teması veya uygulamanın temasını yapmak için, ve kod arkasında herhangi Application.RequestedTheme ayarlamayın. Temasını ayarlardan farklı olarak değiştirmek istemediğiniz sürece ElementTheme'u ContentDialog'a uygulamanıza gerek yoktur.

İlgili konular