Binding переменной из фонового потока, в UI элементе(CheckBox) WPF C#
Нужно привязать переменную из NuGet пакета к элементу WPF(CheckBox). Сама по себе, она изменяется(на трассировке), но конкретно в CheckBox, параметр IsChecked не изменяется(хотя привязан).
NuGet(UpdateModel)
public partial class UpdateClass
{
public void ChengeStatus()
{
new Thread(delegate ()
{
Status = true;
}).Start();
}
public bool Status
{
set
{
flag_check_status = value;
OnPropertyChanged(nameof(Status));
}
get { return flag_check_status; }
}
private event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged([CallerMemberName] string prop = "")
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(prop));
}
}
WPF приложение, с подключенным NuGet(UpdateModel)
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = UClass;
//Application.Current.Dispatcher.Invoke();
Binding binding = new Binding();
Application.Current.Dispatcher.Invoke(() =>
{
binding.Path = new PropertyPath("Status");
binding.IsAsync = true;
BindingOperations.SetBinding(Service_check, CheckBox.IsCheckedProperty, binding);
});
}
public UpdateClass UClass = new UpdateClass();
}