Wednesday, October 29, 2008
Thay đổi Property của UIElement bằng 1 Thread khác
1 . Context
public void Start()
{
Timer timer = new Timer();
timer.Interval = 500;
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Start();
}
void timer_Elapsed(object sender, ElapsedEventArgs e)
{
//lbl la 1 label duoc lấy từ trên file XAML
Label lbl = labelOfUIOnXaml;
lbl.Tag = true ; //dòng nay sẽ báo cho biết không thể truy cập vào 1 thuộc tính
}
2 . Solution
Tạo thêm 1 delegate
private delegate void UICallerDelegate();
Bên trong hàm timer_Elapsed sẽ thực hiện như sau
void timer_Elapsed(object sender, ElapsedEventArgs e)
{
//lbl la 1 label duoc lấy từ trên file XAML
Label lbl = labelOfUIOnXaml;
UICallerDelegate accessProperty= delegate()
{
lbl.Tag = true ;
};
this.Dispatcher.BeginInvoke(DispatcherPriority.Send, accessProperty);
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment