Я новичок в Silverlight и делаю несколько тестов. В моем текущем тесте я пытаюсь отобразить в реальном времени текущее содержимое буфера обмена. Но есть странное поведение с этим кодом:
namespace SilverlightTest
{
public partial class MainPage : UserControl
{
private Timer _timer;
public MainPage()
{
InitializeComponent();
var dispatcher_timer = new DispatcherTimer {Interval = new TimeSpan(0, 0, 0, 5)};
dispatcher_timer.Tick += new EventHandler(timer_Callback);
dispatcher_timer.Start();
}
private void timer_Callback(object state, EventArgs eventArgs)
{
current_clip_board.Content = Clipboard.GetText();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
current_clip_board.Content = Clipboard.GetText();
}
}
}
Предполагается, что кнопка Event и таймер Event выполняют одно и то же действие.
Но это не так! Кнопка отлично работает и устанавливает текст буфера обмена в метку, но таймер выдает исключение:
Доступ к буферу обмена запрещен
Вопрос: почему? :)
Спасибо.
PS: я бы поставил на проблему с нитью: p