Ich habe ein Problem mit meinem benutzerdefinierten Ereignis, das ein Textfeld in meiner UWP-Anwendung nicht aktualisiert. Wenn ich den Textbox1.Text mit debug.Writeline ersetze, funktioniert es. Gibt es einen Grund, warum ich eine Textbox nicht mit einem Event aktualisieren kann? Wenn ich das Progress-Objekt verwende, funktioniert es. Ich versuche nur herauszufinden, warum es nicht mit meiner eigenen benutzerdefinierten Veranstaltung funktionieren würde. DankeC# Benutzerdefiniertes Ereignis in Klasse wird nicht aktualisiert Textfeld
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private void button_click(object sender, RoutedEventArgs e)
{
recData myRecDataobject = new recData();
myRecDataobject.dataRecvEvent +=() =>
{
textBox2.Text = "Event Occured"; // This throws an error
Debug.WriteLine("test2");
};
Progress<int> progress = new Progress<int>();
myRecDataobject.getDataMethodAsync(progress);
progress.ProgressChanged += (o, result) =>
{
textBox1.Text = result.ToString();
};
}
}
public class recData
{
public delegate void myEvenetHandlerDelegate();
public event myEvenetHandlerDelegate dataRecvEvent;
private int _myValue;
public int myValue
{
get
{
return _myValue;
}
set
{
_myValue = value;
}
}
public async void getDataMethodAsync(Progress<int> progress)
{
await getDataMethod(progress);
}
private Task getDataMethod(IProgress<int> progress)
{
return Task.Factory.StartNew(() =>
{
for (int i = 0; i < 1000; i++)
{
Task.Delay(2000).Wait();
if (dataRecvEvent != null)
{
dataRecvEvent();
progress.Report(i);
}
}
});
}
}
Welcher Fehler wird ausgegeben? – m1o2