2012-10-26 19 views
10

Bazı bileşenle dize html göstermek istiyorum. Şimdi RichTextBlock kullanıyorum ve html'yi xaml veya rtf'ye dönüştürmek için birkaç uzantı denedim ancak WinRT ile çalışmayı bulamadım. WebView'i kullanabileceğimi biliyorum ama çok hoş değil. Kullanıcılara temel html (kalın, italik, bağlantılar, resimler, ...) göstermek için ItemDetailPage (nerede RichTextBlock kullanılır) için küçük bir değişiklik yapmak istiyorum.RichTextBlock veya başka bir bileşenle WinRT içinde Html gösteriliyor

Bunun bir parçası ya da bir yolu var mı (web sayfası değil)? Yoksa çalışan çevirici mi var?

+0

nasıl web kontrolünde görünüm kaynağını yapmaya ne dersin? –

+1

Kendi çözümleyicinizi oluşturmanız gerekir. Bunu yapmak zorunda kalırsan yanlış ağacın havlıyormuş gibi geliyor. –

+1

WebView'ın (IE10 olan) neden HTML'yi göstermek için en iyi bileşen olmadığını daha fazla ayrıntı verebilir misiniz? – WiredPrairie

cevap

2

Benim bu çünkü WebView'ı tavsiye 2 yollarını

  1. inşa veya HTML içeriği

gösterilecek

  • Kullanım WebView RichTextBox Kaynağı Olarak içeriğini kullanmak için xaml ayrıştırıcı için kendi html almak zorunda componentente, ayrıştırıcı olarak uygulanması çok zor olan pek çok özelliğe sahiptir.

    • javascript desteği
    • css destek
    • kötü (gerçek dünya) html destekleyeceğini kurdu
    • vb

    Yani, bir dizede saklanan html içeriğini görüntülemek için WebView.NavigateToString yöntemi kullanabilirsiniz bir WebView kontrolünde.

    Özel web görünümüne ve hislerine gereksinim duyduğunuz gibi, stilleri değiştirmek, komut dosyaları eklemek vb.

    NavigateToString bağlanması için herhangi bir desteği vardır ama bir makale (ispanyolca) öğretim nasıl ekli özelliklerini kullanarak yapıyor yazdığı: tam olarak uymaz eğer değiştirebilir, ayrıştırma için http://blogs.msdn.com/b/juank/archive/2012/10/29/tutorial-crear-app-lector-rss-winrt-parte-7.aspx

    kullanın bu kodu (plex) kendi kodunuzu yazınız. ;) http://html2xaml.codeplex.com/

    Diğer size uygulamanızı başlattığınızda RichTextBlock, Ortak/klasöründe bulunmaktadır kullanım RichTextColumns Hepler sınıfını (kullanılmalıdır) yatay okumaya kolon metninde sayfaları (kırmak istiyorsanız akıllıca sen, gazel kendini yaratacak bir şablon) ve HTML'yi XAML'ye ayrıştırmayı deneyin.

  • +1

    WebView'ı denedim ve kendimi nasıl bağlayacağımı ve nasıl çalıştığını gösteren bir makale buldum, html iyi görünüyor. Ama ben onu kullanmak istemiyorum çünkü html etiketleri ile metinleri göstermek istiyorum. Kalın, italik, listeler ve bazen resimler ve bağlantılar gibi temel etiketler olurdu. Makaleleri çok uzun süre göstermeli ve örnek sayfasındaki RichTextBlock'un görünümünü beğendim (ItemDetailPage). Metin sütunlarda ve kullanıcı yatay olarak hareket ediyor. WebView ile nasıl yapılacağını bilmiyorum. –

    +0

    Sütun metninde (yatay okuma için) sayfalara ayırmak isterseniz, uygulamanızı bir şablondan başlattığınızda ve HTML'yi XAML'ye ayrıştırmaya çalışırken, RichTextBlock'u kullanmanız, Common/klasöründe bulunan RichTextColumns hepler sınıfını kullanmanız gerekir. Bu kodu (plex) ayrıştırmak için kullanın, eğer tam olarak uymuyorsanız, kendi kodunuzu değiştirebilirsiniz. ;) http://html2xaml.codeplex.com/ Bu kısmı cevabı ekledim. – JuanK

    +0

    html2xaml tarafından üretilen xaml'i RichTextBlock'a nasıl iletirsiniz? Html2xaml html'yi bir dönüştürücü ile geçirdim ve render etmek istediğim gerçek XAML'i döndürmesi dışında harika çalışıyor, bu yüzden gerçek XAML metni RichtTextBlock'ta gördüğüm şeydir! Bu XAML'yi Metin değeri olarak kullanmak yerine nasıl gösterebilirim? – SelAromDotNet

    3

    Sonunda WinRT destekli Html Xaml dönüşümünün eksikliğinden bıktım ve kendim yazdım. Tekmeler için codeplex numaralı telefona koydum. daha da tekmeler için ve ... Açıkçası

    , bu Xaml dönüşüm sonu tüm Html değil ... Ben de orada yayınlanan Nuget denemeler, ama bu bir başlangıç ​​için

    +0

    Eylem halinde olduğunu gösteren bir test uygulaması eklemeyi unuttunuz mu? Kimsenin çabuk denemesi için onsuz işe yaramaz. – Pavel

    +0

    Sizi bu yoldan en iyi şekilde almak için codeplex sitesinde yeterince yer olmalı. Sorularınız varsa, Sorun İzleyicisi veya Tartışmalar sekmeleri de vardır. –

    İlgili konular