Windows 7 Phone uygulamasında şeffaf bir WebBrowser denetimi yapmaya çalışıyorum, bu yüzden uygulamanın geri kalanıyla aynı temayı sunabilir, ancak denediğim herhangi bir şeyle hiçbir ilgim olmadı. HTML metnini hala görmem gerekiyor, ancak arka planın saydam olmasına gerek yok. CSS'yi denetimde kullanmak işe yaramıyor ve XAML aracılığıyla da çalışamıyorum. Mümkün mü? Bu post, cesaret verici değildi.WebBrowser'ı Oluşturma Şeffaf
cevap
Bu mümkün değil. Tarayıcı motoru her zaman HTML sayfası için bir arka plan rengi oluşturur. BODY etiketine bir renk atayabilirsiniz, ancak 'saydam' değeri her zaman beyaz olur. WebBrowser XAML öğesine atadığınız Arkaplan rengi, tarayıcı motoru esasen bunun üst kısmı üzerinde işlediği için hiçbir etkisi yoktur.
Uygulama temanızla eşleştirmek için en iyi seçeneğiniz, uygulama teması arka plan rengini InvokeScript aracılığıyla BODY öğesinde ayarlayacağınız bir Javascript işlevine HTML sayfasına iletmektir. Bu, yüklediğiniz HTML içeriğini kontrol ettiğinizi varsayar. (Ayrıca, komut dosyasını IsScriptEnabled aracılığıyla etkinleştirmeyi de unutmayın.)
Webbrowser denetiminin sayfa arka planına uyacak bir renk gösterecek şekilde ayarlanması için bazı ilk içeriğin yüklenmeye çalışılmasına (veya ek olarak) ek olarak Kontrolün opaklığını 0 olarak ayarlayabilir ve ardından kontrol üzerindeki Navigated
olayının ilk kez tetiklenmesi durumunda 1 olarak değiştirebilirsiniz.
Kod-çözüm:
private void SetHtml(WebBrowser browser, string body)
{
string style = "<style>";
string background = GetColorForCss("PhoneBackgroundColor");
string foreground = GetColorForCss("PhoneForegroundColor");
style += "body{background-color: " + background + "; color: " + foreground + ";}";
style += "</style>";
string html = "<!DOCTYPE html><html><head>" + style + "</head><body>" + body + "</body></html>";
Color phoneBackground = (Color)Application.Current.Resources["PhoneBackgroundColor"];
browser.Background = new SolidColorBrush(phoneBackground);
browser.Opacity = 0;
browser.NavigateToString(html);
browser.LoadCompleted += browser_LoadCompleted;
}
void browser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
_browser.OpacityMask = null;
_browser.Opacity = 1;
}
Eğer webbrowser bileşeninde görüntülenen html içeriği stil, böylece bileşen uygulamanıza Tabii
web_browser.NavigateToString(html: "<html style='background-color:" + BACKGROUND_THEME_COLOR + ";color:" + FOREGROUND_THEME_COLOR + ";font-size:15pt;'>" + your_html_content + "</html>");
- 1. iOS üzerinde şeffaf görüntü oluşturma
- 2. ImageMagick'te şeffaf arka planlı bir görüntü oluşturma
- 3. DIV kutusu şeffaf, içindeki metin şeffaf değil
- 4. Şeffaf UITableViewCell
- 5. Tamamen şeffaf JFrame üzerinde kısmen şeffaf JButton nasıl oluşturulur?
- 6. Android - şeffaf parseColor renk değeri almak için nasıl ŞEFFAF
- 7. Java şeffaf pencere
- 8. C# - Şeffaf Form
- 9. Şeffaf ön plan
- 10. DataGrid nasıl şeffaf yapılır?
- 11. Resimde Şeffaf Metin Yazma
- 12. Şeffaf AppBarLayout ve CollapsingToolbarLayout
- 13. Iframe şeffaf arka plan
- 14. Şeffaf tost çerçevesi
- 15. Şeffaf SQLite Veri Sıkıştırma
- 16. , HeaderCell bir Şeffaf Gap oluşturur ve İçerik
- 17. WinAPI Şeffaf Penceresi Nasıl Temizlenir
- 18. şeffaf etkinliğin tam ekran 2.3
- 19. SVG şeffaf arka plan web
- 20. simülasyonu şeffaf butonuna etkisini tıklayın
- 21. İki PNG şeffaf görüntüyü birleştirin
- 22. Şeffaf görüntü - arka plan rengi
- 23. Çerçevesiz ve şeffaf pencere qt5
- 24. Tuval resmini nasıl şeffaf yapabilirim?
- 25. Şeffaf win32 penceresi ve metni
- 26. CSS3: Şeffaf Yuvarlak Köşe Sorun
- 27. jcrop şeffaf görüntüyü döndürüyor siyah
- 28. Özel Seekbar başparmak şeffaf değil
- 29. Qt5 & QtQuick2 - şeffaf ana pencere
- 30. Bitmap anahatından NSBezierPath oluşturma
bu won' görünümünü ve olacak İnsanların bunu denediğinde çoğu zaman olduğu gibi, görüntü arka planında ona yardımcı olur. –
Sanırım ne yapacağıma son vermek, tüm sayfayı bir Web Tarayıcısı denetimi olarak oluşturmak ve arka planın temam olmasını sağlamaktır. (Oluşturduğum Web Sitesi üzerinde tam kontrol sahibi oldum, bu yüzden temayı eşleştirmek için biraz CSS ekleyeceğim). – Woody