我正在使用Messenger从后面的页面代码中广播一些信息(我不能使用eventtocommand)并且信使动作是两次 这是我的代码 在viewModel
中public CedareImpozitViewModel()
{
if (IsInDesignMode)
{
}
else
{
LoadListaPers();
LoadListaEntitati();
Messenger.Default.Register<EntitateMessage>(this, AdaugaEntitateNoua);
}
UpdCedareCommand = new RelayCommand(() => UpdCedare(), () => this.CanUpdCedare());
}
来自页面代码
Messenger.Default.Send(new EntitateMessage(cedare) { cedarenoua = cedare, entNoua = entity});
和EntitateMessage类
public class EntitateMessage : GenericMessage<CedareImpozit>
{
public EntitateMessage(CedareImpozit parm)
: base(parm)
{
entNoua = null;
cedarenoua = null;
}
public CedareImpozit cedarenoua { get; set; }
public Entitate entNoua { get; set; }
}
我没有从我的页面导航两次。 有任何想法吗 ? 谢谢
答案 0 :(得分:2)
经验表明,当发生这样的事情时,原因始终是注册发生两次。在Register方法调用上放置一个断点来验证。
干杯, 劳伦