ho una classe di base attuazione INotifyPropertyChanged
:INotifyPropertyChanged e Threading
protected void OnNotifyChanged(string pName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(pName));
}
}
public event PropertyChangedEventHandler PropertyChanged;
ho una classe derivata con una proprietà Latitude
in questo modo:
private double latitude;
public double Latitude
{
get { return latitude; }
set { latitude = value; OnNotifyChanged("Latitude"); }
}
mia classe derivata ha anche un metodo Fly
che manipola Latitude
.
Ho anche un modulo con un TextBox legato alla Latitude
della mia classe derivata:
txtLat.DataBindings.Clear();
txtLat.DataBindings.Add("Text", bindSrc, "Latitude");
Un filo viene utilizzato per dare il via Fly
in questo modo:
Thread tFly = new Thread(f.Fly);
tFly.IsBackground = true;
tFly.Start();
When Latitude
cambiamenti, un viene generata un'eccezione:
DataBinding cannot find a row in the list that is suitable for all bindings.
@WulfgarPro aggiunto due * diversi * esempi –
@WulfgarPro - sì, ero semplicemente in sintonia con l'esempio - limitandolo al minimo che avrebbe mostrato * qualcosa * che stava accadendo. –
@Marc Gravell - Ho ottenuto con successo l'esempio Invoke. Devo ammettere che sono ancora abbastanza alle prime armi quando si tratta di delegare e gestire gli eventi. Ho provato un paio di cose, ma continuo a venire con un 'Impossibile accedere a un oggetto disposto denominato" FormName "' eccezione quando si tenta di uscire dalla mia applicazione. Qualche idea ? – wulfgarpro