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