none
(C#-Windows Phone) Wie kann man eine .txt-Datei aus den Ressourcen in einen TextBlock laden? RRS feed

  • Frage

  • Hallo, ich bin neu hier und hoffe ihr könnt mir weiterhelfen.

    Meine Frage: Wie kann man eine .txt-Datei aus den Ressourcen in einen TextBlock laden?

    Sprache: C# / Windows Phone

    Danke schon mal für eure Bemühungen!

    • Verschoben Robert Breitenhofer Dienstag, 15. November 2011 15:59 Windows Phone 7 (aus:.NET Framework)
    Dienstag, 15. November 2011 15:42

Antworten

  • Hallo,

     

    ich habe es so gemacht:

                var resource = Application.GetResourceStream(new Uri(@"/Dein_Projekt_Name;component/DateiName.txt", UriKind.Relative));
                StreamReader streamReader = new StreamReader(resource.Stream);
                TextBlock textBlock = new TextBlock();
                textBlock.TextWrapping = TextWrapping.Wrap;
                textBlock.Text = streamReader.ReadToEnd();
                scrollViewer1.Content = textBlock;

     

    Viele Grüße

    Uwe

    Mittwoch, 16. November 2011 12:14

Alle Antworten

  • Hi,

     

    zwar ist folgender Link nicht Windows Phone spezifisch, jedoch hast du dir einmal das Beispiel unter dieser Adresse angeschaut?

    Gruß, Peter


    This posting is provided "AS IS" with no warranties, and confers no rights.
    Mittwoch, 16. November 2011 07:50
  • Danke schon mal für deine Hilfe, aber wenn ich es so mache, wie auf der Seite beschrieben, also mit folgendem (von mir etwas angepassten) Code, erscheint immer die Fehlermeldung Fehler Verwendung der nicht zugewiesenen lokalen Variablen "_textStreamReader".

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using Microsoft.Phone.Controls;
    using System.Collections;
    using System.ComponentModel;
    using System.IO;
    using System.Reflection;
    
    namespace Experimente
    {
        public partial class MainPage : PhoneApplicationPage
        {
            // Konstruktor
            public MainPage()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, RoutedEventArgs e)
            {
                Assembly _assembly;
                StreamReader _textStreamReader;
    
                //Textdatei laden
                try
                {
                    _assembly = Assembly.GetExecutingAssembly();
    
                    _textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("MyNamespace.TextFile1.txt"));
                }
                catch
                {
                    MessageBox.Show("Fehler: Textdatei konnte nicht geladen werden!");
                }
    
                //Textdatei anzeigen
                try
                {
                  if (_textStreamReader.Peek() != -1)
                    {
                        textBlock1.Text = _textStreamReader.ReadLine();
                    }
                }
                catch
                {
                    MessageBox.Show("Error writing text!");
                }		
            }
        }
    }
    


    Liegt wahrscheinlich daran dass es nicht klappt, weil der Code ja ursprünglich nicht fürs Windowsphone gedacht war.

    Hat vielleicht irgendjemand noch eine andere Idee?

    Mittwoch, 16. November 2011 10:36
  • Hallo,

     

    ich habe es so gemacht:

                var resource = Application.GetResourceStream(new Uri(@"/Dein_Projekt_Name;component/DateiName.txt", UriKind.Relative));
                StreamReader streamReader = new StreamReader(resource.Stream);
                TextBlock textBlock = new TextBlock();
                textBlock.TextWrapping = TextWrapping.Wrap;
                textBlock.Text = streamReader.ReadToEnd();
                scrollViewer1.Content = textBlock;

     

    Viele Grüße

    Uwe

    Mittwoch, 16. November 2011 12:14