Получение вызывающего потока Ошибка доступа к объекту.Рассматривал решения, но не могу понять, что это правильно.Строки ButtonPark и LabelState выдают ошибку.Любая помощь приветствуется.
public static class TelescopeHardware
{
public static event PropertyChangedEventHandler StaticPropertyChanged;
private static void OnStaticPropertyChanged(string propertyName)
{
var handler = StaticPropertyChanged;
handler?.Invoke(null, new PropertyChangedEventArgs(propertyName));
}
}
public partial class MainWindow
{
private void Window_Load(object sender, RoutedEventArgs e)
{
TelescopeHardware.StaticPropertyChanged += PropertyChanged;
}
private void PropertyChanged(object sender, PropertyChangedEventArgs e)
{
switch (e.PropertyName)
{
case "SiderealTime":
TextLst.Text = _util.HoursToHMS(TelescopeHardware.SiderealTime);
break;
case "RightAscension":
TextRa.Text = _util.HoursToHMS(TelescopeHardware.RightAscension);
break;
case "Declination":
TextDec.Text = _util.HoursToHMS(TelescopeHardware.Declination);
break;
case "AtPark":
ButtonPark.Content = TelescopeHardware.AtPark ? @"UnPark" : @"Park";
LabelState(TextParked, TelescopeHardware.AtPark);
break;
}
}
}
private void LabelState(TextBlock text, bool state)
{
var brush = state ? new SolidColorBrush(Colors.GreenYellow) : new SolidColorBrush(Colors.DimGray);
text.Foreground = brush;
}
}