MVVM CommunityToolkit 8.2.2子线程更新UI失效问题求助
MVVM CommunityToolkit 8.2.2子线程更新UI失效问题
使用MVVM CommunityToolkit 8.2.2版本时,子线程触发事件更新[ObservableProperty]标记的变量后,UI无法同步更新。尝试通过Dispatcher切回主线程操作仍无效果,但手动实现INotifyPropertyChanged接口,或者回退到8.2.0版本使用旧属性声明方式时,功能恢复正常。
8.2.2版本相关代码
[ObservableProperty] private SolidColorBrush ellipseFill private void changeColor(object? sender, FaultStateChangedEventArgs e) { if (Application.Current == null) { return; } Application.Current.Dispatcher.BeginInvoke(new Action(() => { ellipseFill = e.NewFaultState ? new SolidColorBrush(Colors.Green) : new SolidColorBrush(Colors.Gray); Debug.WriteLine(e.NewFaultState ? "true" : "false"); }), DispatcherPriority.Normal); }
8.2.0版本旧属性声明方式
private string quantity = ""; public string Quantity { get => quantity; set => SetProperty(ref quantity, value); }
内容的提问来源于stack exchange,提问作者Romain Tbs
相关产品推荐
相关产品推荐

