大家好,我正在使用WPF的MVVMLight應用程序,但我的問題是我想在用戶可以加載頁面時觸發Loaded
事件。對於例如我有一些導航頁面,所以無論用戶何時點擊任何頁面,都應該觸發PageLoaded
事件。但在我的情況下,它不是以同樣的方式解僱。我有另一個工作得很好的頁面。我不知道我犯了什麼錯誤。與MVVMLight中的交互問題
我的XAML代碼如下所示:
xmlns:vm="clr-namespace:Test.User.Facebook.ViewModel" <UserControl.Resources> <ResourceDictionary> <vm:ViewModelLocator x:Key="Locator"/> </ResourceDictionary> </UserControl.Resources> <UserControl.DataContext> <Binding Source="{StaticResource Locator}" Path="FriendsList"/> </UserControl.DataContext> <i:Interaction.Triggers> <i:EventTrigger EventName="Loaded"> <cmd:EventToCommand Command="{Binding LoadedCommand}" /> </i:EventTrigger> </i:Interaction.Triggers>
而視圖模型看起來是這樣的:
public RelayCommand LoadedCommand { get; private set; }
public FriendsListViewModel()
{
LoadedCommand = new RelayCommand(() => UserControlLoaded());
}
private void UserControlLoaded()
{
GetFriendsList();
}
當我去到這個頁面。這不加載。它不會觸發事件。有人可以幫助我嗎?
謝謝..
是否將'EventToCommand'綁定到您的ViewModel?也許你正在研究一個不同的'DataContext'。嘗試顯式設置'DataContext'。 – alf 2012-02-10 12:39:25
我已經測試過上述方法.. – 2012-02-10 12:54:49