1

Windows Phone 8.1用の私のXamarin.Formsアプリには、CarouselPageを使ってユーザーがスワイプできるページがいくつかあります。これらのページの1つに、画面をいっぱいにするListViewが含まれています。そのページを選択すると、ユーザーはそれ以上スワイプできません。そのアクションは、セルの1つのタップとしてリストビューによって解釈されます。横スワイプがカルーセルのページを変更するようにするにはどうすればよいですか?私はまだリストビューをスクロールするために垂直スワイプが必要です。リストビューが含まれている場合、ユーザーにCarouselPageをスワイプさせる方法を教えてください。

+0

CarouselPageではなくCarouselViewを使用してみましたか?すぐにCarouselPageページが廃止されます – BraveHeart

+0

'ListView'でタップする必要はありませんか?それの 'InputTransparent'プロパティを確認してください。 –

+0

@BraveHeart CarouselViewはXamarin Formsの安定版ではまだ利用できません。いつ利用可能になるか知っていますか? – Simon

答えて

0

これはXamarin Formsプロジェクトで直接達成することはできません。リストビューが利用可能な場合、すべてのタップやジェスチャなどがリストビュー自体によって処理されるからです。 一番上のレイアウト/コントロールによって処理されないジェスチャだけが、その下のコントロール/レイアウトに渡されます。 あなたの場合、リストビューはすべてのジェスチャーを処理し、カルーセルページには何も渡されません。

考えられる問題の唯一の回避策は、リストビューのInputTransparentプロパティをtrueと設定することです。その場合、ジェスチャはリストビューで処理されず、すべてがカルーセルページに渡されます。 しかし、選択したアイテムを持っていて、リストビューから詳細ページを開く必要があるので、リストビューアイテムテンプレートにボタンがあり、ボタンのクリックを処理することができます。ボタンは独立したコントロールであり、リストビューの上にあるので、InputTransparentの設定はボタンのクリックイベント/コマンドバインディングには影響しません。

EDIT:OPの経験によれば、InputTransparentを設定した後でも、選択したアイテムとlistviewの他のすべての機能にアクセスできます。

+1

'InputTransparent'を設定しましたが、ListViewのコンテンツのボタンを設定しなくても、ListViewはうまく動作します。それをスクロールしてアイテムをタップすることはできますが、スワイプしてカルーセルを変更することもできます。ありがとう! – Simon

+0

InputTransparentを設定した後でも、リストビューの選択項目が表示されますか? –

+1

ええ - 私はまだリストビューをスクロールしてアイテムを選択できます。 – Simon

関連する問題