IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Ouvrir un nouvel onglet internet dans Silverlight


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 39
    Points : 30
    Points
    30
    Par défaut Ouvrir un nouvel onglet internet dans Silverlight
    Bonjour,
    J'ai créer une application silverlight et je souhaiterai pouvoir ouvrir un nouvel onglet dans celle-ci et passer à ce dernier du code html que je génère préalablement.
    je sais que pour ouvrir une page blanche dans un nouvel onglet il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Windows.Browser.HtmlPage.Window.Navigate(new Uri("about:blank"), "_blank");
    Mais j'ignore comment passer du code Html à cette page.
    j'ai vu sur google qu'on peut utiliser HtmlBridge, mais je ne trouve rien de très concret.
    Si quelqu'un a une idée.
    Merci d'avance!

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 116
    Points : 158
    Points
    158
    Par défaut
    En fait tu veux plutôt créer ta page HTML, et l'ouvrir non?

    Je te conseillerais donc d'orienter ta recherche sur la création de page html en silverlight.

    Ensuite, il ne te restera plus qu'à l'ouvrir.

    j'ai trouvé ceci, qui pourrait être un début de piste : http://social.msdn.microsoft.com/For...silverlightnet

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 39
    Points : 30
    Points
    30
    Par défaut
    C'est bien ça, mais générer ma page Html n'est pas le problème.
    Ce qui m’intéresse vraiment c'est d'arriver a l'ouvrir dans un nouvel onglet ( ou une nouvelle fenêtre au pire) depuis mon application silverlight.

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 116
    Points : 158
    Points
    158
    Par défaut
    Et bien soit tu met l'url de ta nouvelle page à la place de about:blank, soit tu crée un URI à partir de ta page HTML, mais sans savoir comment tu génères cette page, difficile de dire plus précisément comment ouvrir la page.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 39
    Points : 30
    Points
    30
    Par défaut
    Je te remercie de ton aide, je regarderais tout cela quand j'aurais le temps, mon patron m'a passé sur un truc plus urgent.
    Je génère le code de ma page avec un StringBuilder.

    J'essai de créer ma page Html, pour cela j'utilise ce bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    File.WriteAllText("test.html", stringBuilder.ToString());
    Mais je me prend une erreur "File operation not permitted. Access to path 'test.html' is denied." Je suis pourtant bien en administrateur.
    Je viens de voir un article parlant de l'isolatedStorage de Silverlight. On va voir ce que ça donne.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 39
    Points : 30
    Points
    30
    Par défaut
    Bon j'ai essayer un peu dans tous les sens et la meilleure solution est je pense d'utiliser le htmlbridge ( htmlPage, HtmlDocument, HtmlWindow..).
    Bref, j'ai un datagrid dans mon application Silverlight que j'exporte en HTML avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
            private void DataGridToHTML(DataGrid dg)
            {
                HtmlWindow newTab = HtmlPage.Window.Navigate(new Uri("about:blank"), "_blank");
                HtmlDocument doc = HtmlPage.Document;
     
                HtmlElement tableRow = null;
                HtmlElement headerElem = null;
     
                HtmlElement table = doc.CreateElement("TABLE");
                doc.Body.AppendChild(table);
     
                HtmlElement tableHeader = doc.CreateElement("THEAD");
                table.AppendChild(tableHeader);
                tableRow = doc.CreateElement("TR");
                tableHeader.AppendChild(tableRow);
     
                for (int i = 0; i < dg.Columns.Count; i++)
                {
                    headerElem = doc.CreateElement("TH");
                    headerElem.SetProperty("innerHTML", dg.Columns[i].Header.ToString());
                    tableRow.AppendChild(headerElem);
                }
     
                HtmlElement tableBody = doc.CreateElement("TBODY");
                table.AppendChild(tableBody);
     
                IEnumerator enumerator = dg.GetRowsEnumerator();
                IEnumerator enumerator2 = dg.Columns.GetEnumerator();
     
                while (enumerator.MoveNext())
                {
                    tableRow = doc.CreateElement("TR");
                    tableBody.AppendChild(tableRow);
                    while (enumerator2.MoveNext())
                    {
                        DataGridRow row = enumerator.Current as DataGridRow;
                        DataGridColumn c = enumerator2.Current as DataGridColumn;
                        string value = (c.GetCellContent(row) as TextBlock).Text;
                        //System.Diagnostics.Debug.WriteLine(value);
                        HtmlElement tableCell = doc.CreateElement("TD");
                        tableCell.SetProperty("innerHTML", value);
                        tableRow.AppendChild(tableCell);
                    }
                    enumerator2.Reset();
                }
     
            }
    Dans la première ligne de mon code, on voit que j'ouvre un nouvel onglet ( newTab ).
    Je souhaiterais que tout le HtmlDocument que je crée sois afficher dans ce nouvel onglet newTab.
    Je n'arrive pas a trouver le moyen de le faire, mais c'est pas possible que ce soit si compliqué que ça.
    J'espère que quelqu'un a une solution, moi je vais pas tarder à craquer ^^.
    En vous remerciant.

Discussions similaires

  1. Ouvrir un nouvel onglet automatiquement?
    Par qnop dans le forum Qt
    Réponses: 0
    Dernier message: 17/07/2013, 03h01
  2. Générer un liens et ouvrir un nouvel onglet
    Par CedriZero dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/08/2012, 08h57
  3. ouvrir une nouvelle fenetre pdf dans firefox
    Par leoriviera2582 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/04/2010, 15h14
  4. Ouvrir un nouvel onglet
    Par francois.p dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/04/2009, 16h51
  5. ouvrir une page web dans un nouvel onglet
    Par krokmitaine dans le forum Web & réseau
    Réponses: 8
    Dernier message: 05/08/2008, 17h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo