大家好,我正在使用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