0

我正在使用 Messenger 从后面的页面代码中广播一些信息(我不能使用 eventtocommand),并且 Messenger 操作是两次边缘这是我在 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; }
}

我没有从我的页面导航两次。有任何想法吗 ?谢谢

4

1 回答 1

2

经验表明,发生这种情况时,原因总是注册发生了两次。在 Register 方法调用上放置断点以进行验证。

干杯,劳伦特

于 2012-07-11T13:25:55.580 回答