2016-07-13 14 views
1

ViewCellでタップされたアクションを使用して他のページにナビゲートするにはどうすればよいですか?TableView Viewcellタップされたアクション

のXmaIコード

<TableView Intent="Settings" HasUnevenRows="true" VerticalOptions="StartAndExpand" BackgroundColor="White" > 
      <TableRoot> 
       <TableSection> 
        <ViewCell Height="100" Tapped="OnProfileClicked"> 
         <ViewCell.View> 
          <StackLayout Orientation="Horizontal" Padding="5,2,5,2" BackgroundColor="White" > 

           <Image x:Name="ImgProfile" HeightRequest="100"/> 
           <Label x:Name="btnName" VerticalOptions="Center" TextColor="Black" FontSize="20"/> 
           <Label Text="> " FontSize="15" HorizontalOptions="EndAndExpand" VerticalOptions="Center"/> 

          </StackLayout> 
         </ViewCell.View> 

        </ViewCell> 

       </TableSection> 
      </TableRoot> 
      </TableView> 

CSファイル

public void onProfileTapped() 
    { 
     Navigation.PushAsync(new Clubs()); 
    } 

答えて

0

はので、あなたのコードで間違っているカップルの事があります。

1)あなたはTapped=OnProfileClickedを書いていますが、実際に作られたメソッドがonProfileTapped()と呼ばれ、これが不一致

2である)あなたの項目タップイベントのパラメータは、ほとんどのXamarinイベントが送信者とのEventArgsを含み、間違っています。ここで

は、あなたがそれを動作させるためにあなたのコードを修正することができます方法は次のとおりです。

void OnProfileClicked (object sender, System.EventArgs e) { //your code} 

また、あなたはナビゲーションを使用してページをプッシュ先端、。メソッドを非同期としてマークし、アクションがスムーズな遷移であることを確認するのを待つことができます。

+0

ご返信ありがとうございます。私は非同期アクションと待機アクションを追加してコードを変更しましたが、このエラーメッセージ "メソッドOnProfileClickedに正しいシグネチャがありません"というメッセージが表示されます。 –

+0

私が与えた引数型は間違っていると思います。 void OnProfileClicked(オブジェクト送信者、System.EventArgs e)を試してください。私は解決策を編集し、それを行ってください。 – MangoBoy

+0

ありがとう!それは今働きます! :) –

関連する問題