假设:
public DelegateCommand Cmd { get; private set; }
public ViewModel(IEventAggregtor ea)
{
_ea = ea;
Cmd = new DelegateCommand(() => Console.WriteLine("old!!"));
ea.GetEvent<TestEvent>().Subscribe(() => NewingCmd());
}
private void NewingCmd()
{
Cmd = new DelegateCommand(() => Console.WriteLine("new!!"));
}
预期:在事件发布之前,输出为“old!!”,而在发布之后,也意味着newingcmd
,输出为“new!!”。
但是在newingcmd
之前和之后,输出都是“old!!”。
那么,当我收到发布时,我可以更改delegateCommand
吗?
您没有实现inotifypropertychanged
,因此当将新的delegateCommand
分配给cmd
时,绑定不会收到更改通知,也不会更新。只需从Prism的bindablebase
派生,如下所示。请参见文档中的实现INotifyPropertyChanged。
public class ViewModel : BindableBase
{
private DelegateCommand _cmd;
public DelegateCommand Cmd
{
get => _cmd;
private set => SetProperty(ref _cmd, value);
}
public ViewModel(IEventAggregtor ea)
{
_ea = ea;
Cmd = new DelegateCommand(() => Console.WriteLine("old!!"));
ea.GetEvent<TestEvent>().Subscribe(() => NewingCmd());
}
private void NewingCmd()
{
Cmd = new DelegateCommand(() => Console.WriteLine("new!!"));
}
}
我在尝试运行我的代码时遇到了这个错误,这是一个简单的javafx代码来加载一个fxml文件,我尝试了我在这里找到的解决方案,但没有一个对我有效。很抱歉,如果格式不是很好,这是我在这里的第一个帖子,并且很抱歉,如果我在屠杀语言,英语不是我的第一语言。提前道谢! 这是事情的组织方式
我用Inno Setup做了一个安装程序,在一些文件运行后我需要重启电脑,所以我用了这篇文章中的解决方案。 inno安装示例“CodePrepareToInstall”。iss运行良好,所以我使用了代码进行测试安装,但计算机重新启动后安装程序无法启动。 两个安装程序(inno demo和我的测试)都在“HKLM\Software\Microsoft\Windows\CurrentVersion\R
我正在使用: SpringBoot 2.0.4 ActiveMQ 5.15.5 Apache Camel 2.22.0 Java1.8 太棒了 马文 基本上,我有一个带有Apache Camel路由的SpringBoot应用程序,它使用来自ActiveMQ的消息和事务。我需要在ActiveMQ上设置一个Re的策略,所以当处理中发生错误时,消息会被重试多次。 我已经用bean为ActiveMQ创建了
我使用HttpClient发出请求,在每个请求上我都设置了头,但当我看到chrome网络选项卡时,这些头并没有设置。 密码 网络选项卡图像
当我开始在uitextfield中输入时,我希望发生一些动画,在我完成输入之前,它不应该反转回来。我正在使用此代码设置动画: 我想做的是:当我开始在第一个文本字段中键入时,我希望第二个文本字段从视图中隐藏,当我完成键入时,我希望它重新设置动画。 我的问题是:当我开始键入动画时,它会返回到原始位置。它不会等我完成打字。
我在JavaFx应用程序中有一个名为choiceBoxPizza的ChoiceBox。 在我的控制器中,我声明它: 我包含一些测试数据的函数是: 所以应该用填充。奇怪的是,我没有得到任何异常,并且选择框在调用方法后仍然为空。 我的逻辑有错误吗?