前提・実現したいこと
Xamarin.Formsを使ってモバイルアプリを作成中です。
ドラッグアンドドロップの処理を実装する必要があり、以下のページなどを参考にして対象の要素のドラッグアンドドロップ処理を実装しました。
ドラッグ アンド ドロップ ジェスチャ認識エンジンを追加する
ドラッグアンドドロップの処理自体は正常に動作していますが、ドラッグ中の要素の背景色に問題が発生しています。
発生している問題・エラーメッセージ
- 要素をドラッグ中に設定しているテーマカラーが背景色となってしまう
以下は作成中の実際のアプリの画面です。
前提として、画面の背景自体が青色で、丸い画像とテキストを表示しています。
下図はテーマカラーがライトの場合です(ダークの場合は背景が黒くなる)
該当のソースコード
xaml
1<CollectionView.ItemTemplate> 2 <DataTemplate> 3 <Grid> 4 <Grid.GestureRecognizers> 5 <DragGestureRecognizer DragStartingCommand="{Binding BindingContext.DragBench2PlayerCommand, Source={RelativeSource AncestorType={x:Type ContentPage}}}" DragStartingCommandParameter="{Binding}"/> 6 </Grid.GestureRecognizers> 7 <!-- 中略 --> 8 <Frame> 9 <Image Source="{Binding ImagePath,Mode=OneWay}" Aspect="AspectFill"/> 10 </Frame> 11 <Label Grid.Row="1" Text="{Binding Name,Mode=OneWay}"/> 12 </Grid> 13 </DataTemplate> 14</CollectionView.ItemTemplate>
上記より、以下のような状態であることがなにか関係しているのではと思っています。
- 画像を円形にして表示している
また、ドラッグ中の画像にあるように、自分では追加していない緑色のプラスアイコンが追加されているので、ドラッグ中は誰かによってコントロールが追加されており、そのときにテーマカラーが背景色の領域が追加されているのではと考えています。
Xamarin.FormsのGithubのコードも少し見てみましたが原因はよくわかりませんでした。
試したこと
Grid
のBackgroundColor
をTransparent
に設定
-> 効果なしGrid
のBackgroundColor
をRed
に設定
-> ドラッグ前、ドラッグ中ともに背景色がRed
になった
目指す状態
- ドラッグ中に背景色を変更せずに透過したままドラッグしたい
補足情報(FW/ツールのバージョンなど)
- Xamarin.Forms :
5.0.0.2083
- iOS
その他必要な情報などございましたらお知らせください。
どなたか知恵を貸してください。
よろしくおねがいします。
あなたの回答
tips
プレビュー