//¿Cómo puedo hacer que el cursor parpadee? en este ejemplo, estoy usando un temporizador y en el modo de depuración puedo //ver el cambio de CursorCssClass pero el cursor parpadea en el navegador.
<section id="hero" class="d-flex flex-column justify-content-center align-items-center"> <div class="hero-container"> <h1>test test</h1> <p>I'm tester <span style="@CursorCssClass">|</span></p> </div> </section> @code { private bool hideCursor = true; private System.Timers.Timer aTimer; private string CursorCssClass => hideCursor ? "opacity: 0" : "opacity: 1"; private void ToggleCursor() { aTimer = new System.Timers.Timer(); aTimer.Interval = 1000; aTimer.Elapsed += OnTimedEvent; aTimer.AutoReset = true; aTimer.Enabled = true; } private void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e) { hideCursor = !hideCursor; } protected override Task OnInitializedAsync() { ToggleCursor(); return base.OnInitializedAsync(); } }Un temporizador es un evento externo (no Blazor), por lo que debe llamar (invocar) StateHasChanged:
private void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e) { hideCursor = !hideCursor; InvokeAsync(StateHasChanged); }Además, debe desechar el temporizador .