Tôi có một lớp cơ sở thực hiện INotifyPropertyChanged
:INotifyPropertyChanged và Threading
protected void OnNotifyChanged(string pName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(pName));
}
}
public event PropertyChangedEventHandler PropertyChanged;
Tôi có một lớp có nguồn gốc với một tài sản Latitude
như vậy:
private double latitude;
public double Latitude
{
get { return latitude; }
set { latitude = value; OnNotifyChanged("Latitude"); }
}
lớp được thừa kế của tôi cũng có một phương pháp Fly
rằng thao túng Latitude
.
Tôi cũng có một mẫu với một TextBox ràng buộc để Latitude
của lớp được thừa kế của tôi:
txtLat.DataBindings.Clear();
txtLat.DataBindings.Add("Text", bindSrc, "Latitude");
Một chủ đề được sử dụng để khởi Fly
như vậy:
Thread tFly = new Thread(f.Fly);
tFly.IsBackground = true;
tFly.Start();
Khi Latitude
thay đổi, một ngoại lệ được ném:
DataBinding cannot find a row in the list that is suitable for all bindings.
@WulfgarPro đã thêm hai * khác nhau * ví dụ –
@WulfgarPro - vâng, tôi chỉ đơn giản là ngắn gọn với ví dụ - giới hạn nó ở mức tối thiểu mà sẽ hiển thị * một cái gì đó * đang xảy ra. –
@Marc Gravell - Tôi đã nhận được ví dụ Invoke thành công. Tôi sẽ thừa nhận tôi vẫn còn khá mới khi nói đến các đại biểu và xử lý sự kiện. Tôi đã thử một vài điều nhưng tôi tiếp tục đưa ra một 'Không thể truy cập một đối tượng được xử lý có tên là" FormName "' ngoại lệ khi cố gắng thoát khỏi ứng dụng của tôi. Bất kỳ ý tưởng? – wulfgarpro