2009-01-22 15 views
19

Bir LOB uygulaması için Web tabanlı bir Pano aracı oluşturmalıyım. Esasen kullanıcıların, bir web sitesine giriş yapabilmeleri ve bu sayede çeşitli veri bitlerine ait istatistikleri görüntüleyebilmeleri ve bunlarla ilgili bildirimleri görebilmeleri gerekmektedir. Bizim birincil uygulama WPF kullanarak masaüstüne inşa edilmiştir. Ayrıca, WPF uygulamasında barındırılacak aynı gösterge panosunu sağlamamız gerekiyor. WPF versiyonunda, verilerde değişiklik yapmak için ya da gerekli olan her türlü eylemi gerçekleştirmek için uygulamanın diğer kısımlarını açacak düğmeler olacak ana fark.Bir WPF Uygulaması içinde bir web sayfası ile barındırma ve etkileşim kurma

Esas sorun, yönetimin yalnızca hem web'de hem de WPF kabuğunda kullanılabilen 1 sürüm yazmayı istemesidir. Kullanıcı Arabiriminin farklı sürümlerine yazmak istemezler. Dolayısıyla çözüm, web için kontrol panelini yazmak, ancak yerel kullanıcılar için masaüstü uygulamasında ve uzak kullanıcılar için tarayıcıda barındırmak olurdu.

Yani burada sorularım var: Ben

  • nasıl saklanabileceği benim WPF app içindeki bir web sayfası barındırma hakkında gitmek nasıl

    1. /Benim WPF uygulaması vs. içindeyim olmasına bağlı düğmeleri kaldırabilirsiniz IE kaşif gibi bir şey içinde?
    2. Tarayıcının içinde bağlantılar veya düğmeler tıklanırsa, WPF uygulaması bu tıklamalara nasıl tepki verebilir ve uygulamanın içindeki uygun ekranı açabilir?
    3. Daha iyi bir yaklaşım nedir?

    Bu fikrin muhtemelen kötü olduğunu anlıyorum, bu yüzden beni bunun için alevlendirmeyin. Ben sadece yönetimi doğru yaklaşımla sağlamaya çalışıyorum. Tüm öneriler kabul edilir.

    Teşekkürler!

  • cevap

    35

    Sen .NET 3.5 SP1 eklendi WebBrowser kontrollerini kullanarak bir WPF uygulamasında bir web sayfası barındırabilir:

    <Grid> 
        <WebBrowser Name="browser" /> 
    </Grid> 
    

    Ve kod arkada sayfanıza Uri ayarlamak zorunda ve

    public partial class Window1 : Window 
    { 
        public Window1() 
        { 
         InitializeComponent(); 
    
         string uri = AppDomain.CurrentDomain.BaseDirectory + "TestPage.html"; 
         this.browser.Navigate(new Uri(uri, UriKind.Absolute)); 
         this.browser.ObjectForScripting = new ScriptingHelper(); 
        } 
    
        [ComVisible(true)] 
        public class ScriptingHelper 
        { 
         public void ShowMessage(string message) 
         { 
          MessageBox.Show(message); 
         } 
        } 
    } 
    

    Ve nihayet sayfanıza aşağıdaki gibi window.external kullanarak kodu çağırmalıdır:

    olduğunu (com-görünür olmalıdır) bir nesne java komut dosyasından çağrılacak
    +0

    Bu benim için teşekkürler çalıştı WPF ile sadece örnektir engellemez yapmak. –

    İlgili konular