none
Blazor Server App und Razor Component Library - Events RRS feed

  • Frage

  • Guten Abend,

    ich habe mich in den letzten 24 Stunden intensiv mit den Blazor Server App(s) beschäftigt und bin komplett begeistert was für Möglichkeiten sind.

    Jetzt versuche ich gerade folgendes:

    Ich möchte eine RCL erstellen, die z.B. (wie bei WindowsForms) eine Textbox anbietet. Jetzt wird vom Benutzer der Text in einem Input-Feld geändert, und ich möchte das aus dieser RCL ein Event abgefeuert wird, an die eigentliche Blazor-App (z.B. TextChanged-Event).

    Ich habe viele verschiedene Ansätze gefunden, aber nicht wirklich führten diese zum Ziel. Mal war es mit JavaScript, mal nur mit Parametern mal eine Mischung aus beiden mit EventArgs usw.

    Ist das möglich? Simples Input-Text-Feld und bei Änderung ein Event zur eigentlichen BlazorApp abfeuern.

    Liebe Grüße aus Berlin
    Andy


    Samstag, 30. Juli 2022 21:34

Antworten

  • Hallo Andy,

    dazu hat man mehere möglichkeiten.

    <div style="display: grid; grid-template-rows: 20px 30px 20px 30px;">
        <label>Two way binding wie in WPF</label>
        <input type="text" @bind="_name" />
    
        <label>Mit Event</label>
        <input type="text" @onchange="TextChanged" />
    </div>
    
    @code {
    
        public event EventHandler NameChanged;
    
        string _name = string.Empty;
        public string Name { get { return _name; } set { _name = value; NameChanged?.Invoke(value, EventArgs.Empty); } }
    
        private void TextChanged(ChangeEventArgs args)
        {
            NameChanged?.Invoke(args.Value.ToString(), EventArgs.Empty);
        }
    }


    Gruß Thomas
    Github

    Samstag, 30. Juli 2022 22:16