Er der nogen måde at tilføje RichTextBox til C # Xamarin-projektet til Android?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har et problem at oversætte et C # -projekt, jeg oprettede til Windows, til Android Xamarin. Jeg har søgt på internettet for at finde nogen løsning på RichTextBox og andre funktioner og komponenter, som jeg brugte til at opbygge Windows-versionen, men jeg kunne ikke finde nogen god løsning undtagen et emne her, men det hjalp mig ikke.
Hvis der ikke er nogen måde at tilføje noget på som en richtextbox, er der nogen anden tekstfelt, der understøtter .Lines, så jeg kan få det korrekte linjenummer? [2]


Her er en del af min kode:


        private void ThreadTask1()
    {
        string link = "http://example.com/music-today.php";
        int TimeToWait = 300;
        int check\_ID = 0;

        string ParsedResult = null;

        HtmlAgilityPack.HtmlDocument doc = null;
        HtmlWeb web1 = new HtmlWeb();

        while (true) {

            ParsedResult = "";
            RichTextBox1.Clear(); 
            RichTextBox2.Clear(); 

            web1.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)";
            web1.UsingCache = false;
            web1.UseCookies = true;

            doc = web1.Load(link);

            HtmlNode div = doc.DocumentNode.SelectSingleNode("//div[@class='latest-song14']"); 

            if ((div != null)) {
                ParsedResult = div.InnerText.Trim();
                RichTextBox1.Text = ParsedResult;
                RichTextBox2.Text = RichTextBox1.Lines[0];

                if (!RichTextBox2.Text.Contains("dj")) {
                    Sound vol = new Sound("nircmdc.exe");
                    vol.setVol(40);

                    while (true) {
                        MyMusicInformer.My.MyProject.Computer.Audio.Play("C:\Windows\media\Alarm01.wav", AudioPlayMode.Background);
                        System.Threading.Thread.Sleep(700);
                        MyMusicInformer.My.MyProject.Computer.Audio.Play("C:\Windows\media\Alarm01.wav", AudioPlayMode.Background);
                        System.Threading.Thread.Sleep(700);
                        MyMusicInformer.My.MyProject.Computer.Audio.Play("C:\Windows\media\Alarm01.wav", AudioPlayMode.Background);
                        System.Threading.Thread.Sleep(5000);
                    }
                } else {
                    check\_ID = check\_ID + 1;
                    RichTextBox2.Text = "No new song yet. Try (" + check\_ID.ToString() + ")";
                }
            }
            System.Threading.Thread.Sleep(TimeToWait * 1000);
        }
    }


    private Thread trd1;

    private void Form1\_Load(object sender, EventArgs e)
    {
        System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;

        trd1 = new Thread(ThreadTask1);
        trd1.IsBackground = true;
        trd1.Start();
    }


Jeg ønsker kun at kunne informeres, når der er en ny sangopdatering. I Visual Studio kan jeg kun se 'Multiline Text' indstillingen, men det kan ikke løse mit problem.


Tak for din tid.

Bedste reference


Har du prøvet Xamarin.Forms.Editor kontrol? Jeg er sikker på at det kan hjælpe dig. [3]