質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

ドラッグ&ドロップ

コンピューターのGUIにおいて、バーチャルなものを「つかむ」ことによって選択し、別の場所や他のバーチャルなものの上に動かす行為、またはその行為に対応していることを指す。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

Q&A

0回答

1573閲覧

Xamarin.FormsのDragGestureRecognizerでエレメントをドラッグした際に背景色がテーマカラーになってしまう

panda531

総合スコア12

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

ドラッグ&ドロップ

コンピューターのGUIにおいて、バーチャルなものを「つかむ」ことによって選択し、別の場所や他のバーチャルなものの上に動かす行為、またはその行為に対応していることを指す。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

0グッド

0クリップ

投稿2021/11/09 14:12

前提・実現したいこと

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のコードも少し見てみましたが原因はよくわかりませんでした。

試したこと

  • GridBackgroundColorTransparentに設定
    -> 効果なし
  • GridBackgroundColorRedに設定
    -> ドラッグ前、ドラッグ中ともに背景色がRedになった

目指す状態

  • ドラッグ中に背景色を変更せずに透過したままドラッグしたい

補足情報(FW/ツールのバージョンなど)

  • Xamarin.Forms : 5.0.0.2083
  • iOS

その他必要な情報などございましたらお知らせください。
どなたか知恵を貸してください。
よろしくおねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問