2012-07-11 27 views
0

我使用Messenger的背後廣播從頁面代碼中的一些信息(我不能使用eventtocommand)和信使的行動在這裏Fring的兩次 是我的代碼 在視圖模型MVVM光使者射擊兩次

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

<「我不是從我的網頁瀏覽兩次」 - 說明這一點,因爲問題的標題,這是沒有意義的 – Rumplin 2012-07-11 13:10:42

+0

我看到了,我需要在OnNavigating註冊信息cooments因爲如果你第二次在相同的頁面上進行導航,它再次註冊。 – user3145 2012-07-11 13:17:51

回答

2

經驗表明,當這樣的事情發生時,原因總是發生了兩次註冊。在Register方法調用上放置一個斷點來驗證。

乾杯, 洛朗

+0

嗨,洛朗我已經在此處發帖之前對此進行了驗證 – user3145 2012-07-11 13:51:58