у меня есть компонент в WPF, этот компонент использует границу, и я использую свойство границы фона, чтобы изменить цвет фона всего компонента.
Проблема в том, что когда я пытаюсь чередовать два разных цвета с помощью таймера, выдается invalidOperationException. «Вызывающий поток не может получить доступ к этому объекту, поскольку им владеет другой поток». В методе таймера я помещаю код для изменения свойств границы в объекте Dispatcher.
mainBorder.Dispatcher.BeginInvoke((ThreadStart)delegate()
{
mainBorder.BorderBrush = myBrush;
mainBorder.Background = myBrush;
}, null);
но выбрасывается исключение, и я не понимаю, что я делаю неправильно! Например, в то же время я делаю код
lbHolderServico.Dispatcher.BeginInvoke((ThreadStart)delegate()
{
lbHolderServico.Foreground = new SolidColorBrush(HoldLabelsFontColor);
}, null);
изменить цвет шрифта метки, и все работает нормально.
Спасибо и привет