2017-04-13 11 views
0

corradocavalli/Corcav.BehaviorsXamarin.Formsの動作を使用しようとしていますが、ViewModelに正しく動作するListViewItemTappedイベントのバインドを取得できません。Xamarin.Forms ListView ItemTapped Corcav.Behaviorsが機能していませんか?

<behaviors:EventToCommand 
    BindingContext="{behaviors:RelativeContext Name=MyPageName}" 
    EventName="ItemTapped"         
    CommandName="OnItemSelected"        
    PassEventArgument="True" 
/> 

と私ののViewModelに私が使用しています: - - :

public Command<ItemTappedEventArgs> OnItemSelected { get; private set; } 

コンストラクタ: - 私は使用しています私ののListView

this.OnItemSelected = 
     new Command<ItemTappedEventArgs>(async (e) => await MyHandlerForOnItemSelected(e)); 

と最後に: -

private async Task MyHandlerForOnItemSelected(ItemTappedEventArgs e) 
{ 
    .... 
} 

しかしxamlマークアップは、アプリが起動しない原因になっている、とハングアップ、私は明らかに間違って何かをやっているよう。

アイデア?

+0

エラーが発生しますか?彼らは何を言いますか? –

+0

@GeraldVersluisちょうどアプリケーションをハングし、xamlページをロードしません。 xamlでビヘイビアマークアップを削除すると、そのページが表示されます。 – Johnny

+0

アプリケーションの出力ウィンドウを確認してください。何かがあるかもしれません。 –

答えて

0
<ListView ItemsSource="{Binding Items}"> 
      <behaviors:Interaction.Behaviors> 
      <behaviors:BehaviorCollection> 
       <behaviors:EventToCommand 
        BindingContext="{behaviors:RelativeContext MPage}" 
        EventName="ItemTapped" 
        CommandName="OnItemSelected" 
        PassEventArgument="True"/> 
      </behaviors:BehaviorCollection> 
      </behaviors:Interaction.Behaviors> 
    </ListView> 

このコードは、あなたが共有するコードとともにうまく動作し、itemtappedイベントを処理できます。

+0

何らかの理由で、コードは後で作業を開始しました。ああ、Xamarin開発の美しさ: - D – Johnny

関連する問題