誰もが、私は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>
そしてViewModelには、次のようになります
public RelayCommand LoadedCommand { get; private set; }
public FriendsListViewModel()
{
LoadedCommand = new RelayCommand(() => UserControlLoaded());
}
private void UserControlLoaded()
{
GetFriendsList();
}
私は、このページに移動するときこれがロードされていません。イベントは発生しません。誰かが私を助けることができますか?
おかげで...私の知る限りは、相互作用が見つめている前にロードされたイベントが発生する知っているよう
'EventToCommand'はViewModelにバインドされていますか?たぶんあなたは別の 'DataContext'で作業しているかもしれません。 'DataContext'を明示的に設定してみてください。私は上記のアプローチを用いて試験した – alf
... –