home screen

Search



Number Of Result : 0

Result :


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);
}

No comments: