刚学yolov5,跑自己的数据集时,报错了,如下。求问,应该怎么解决呢?
1条回答 默认 最新
- DarrenPig 2023-08-16 19:50关注
根据你提供的代码和描述,数据没有更新到界面上可能是因为没有通知WPF界面去更新。在WPF中,要想在数据发生变化时及时更新UI,需要使用实现了
INotifyPropertyChanged
接口的类,并在属性值发生变化时触发属性更改事件。确保满足以下几个步骤:
确保
FunctionViewModel
类继承了INotifyPropertyChanged
接口,并实现了该接口的PropertyChanged
事件。在
FunctionViewModel
类中的属性LJogState
上触发PropertyChanged
事件,以通知界面更新。例如,在LJogState
的属性访问器中添加OnPropertyChanged(nameof(LJogState))
。在 XAML 中的
Label
的Foreground
属性上使用{Binding LJogState, Mode=OneWay}
进行数据绑定,并将DataContext
设置为FunctionViewModel
的实例。
修改后的代码如下所示:
public partial class FunctionViewModel : ObservableObject { public Function obj; public bool a = false; public FunctionViewModel(Function function) { obj = function; Task.Run(() => { while (true) { DeviceStateUpdata(); Thread.Sleep(300); } }); } [ObservableProperty] private Brush? lJogState; public Brush? LJogState { get { return lJogState; } set { if (lJogState != value) { lJogState = value; OnPropertyChanged(nameof(LJogState)); } } } private void DeviceStateUpdata() { LJogState = a ? Brushes.Red : Brushes.Green; } }
在 XAML 中的
Label
的代码保持不变:<Grid> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Label Content="ABC" Foreground="{Binding LJogState, Mode=OneWay}" FontSize="100"/> </Grid>
这样,当
LJogState
属性的值发生变化时,会触发属性更改事件,在界面上及时更新对应的绑定。希望这能帮助到你解决问题。如果还有其他疑问,请随时提问。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
- ¥15 安装quartus II18.1时弹出此error,怎么解决?
- ¥15 keil官网下载psn序列号在哪
- ¥15 想用adb命令做一个通话软件,播放录音
- ¥30 Pytorch深度学习服务器跑不通问题解决?
- ¥15 部分客户订单定位有误的问题
- ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
- ¥15 Bug traq 数据包 大概什么价
- ¥15 在anaconda上pytorch和paddle paddle下载报错
- ¥25 自动填写QQ腾讯文档收集表