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

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

新規登録して質問してみよう
ただいま回答率
87.20%
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 の両方の開発を行うことができます。

受付中

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

panda531
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リアクション

0クリップ

617閲覧

投稿2021/11/09 14:12

前提・実現したいこと

Xamarin.Formsを使ってモバイルアプリを作成中です。
ドラッグアンドドロップの処理を実装する必要があり、以下のページなどを参考にして対象の要素のドラッグアンドドロップ処理を実装しました。

ドラッグ アンド ドロップ ジェスチャ認識エンジンを追加する

ドラッグアンドドロップの処理自体は正常に動作していますが、ドラッグ中の要素の背景色に問題が発生しています。

発生している問題・エラーメッセージ

  • 要素をドラッグ中に設定しているテーマカラーが背景色となってしまう

以下は作成中の実際のアプリの画面です。
前提として、画面の背景自体が青色で、丸い画像とテキストを表示しています。
下図はテーマカラーがライトの場合です(ダークの場合は背景が黒くなる)

(ドラッグ前)
![イメージ説明

(ドラッグ中)
イメージ説明

該当のソースコード

xaml

<CollectionView.ItemTemplate> <DataTemplate> <Grid> <Grid.GestureRecognizers> <DragGestureRecognizer DragStartingCommand="{Binding BindingContext.DragBench2PlayerCommand, Source={RelativeSource AncestorType={x:Type ContentPage}}}" DragStartingCommandParameter="{Binding}"/> </Grid.GestureRecognizers> <!-- 中略 --> <Frame> <Image Source="{Binding ImagePath,Mode=OneWay}" Aspect="AspectFill"/> </Frame> <Label Grid.Row="1" Text="{Binding Name,Mode=OneWay}"/> </Grid> </DataTemplate> </CollectionView.ItemTemplate>

上記より、以下のような状態であることがなにか関係しているのではと思っています。

  • 画像を円形にして表示している

また、ドラッグ中の画像にあるように、自分では追加していない緑色のプラスアイコンが追加されているので、ドラッグ中は誰かによってコントロールが追加されており、そのときにテーマカラーが背景色の領域が追加されているのではと考えています。
Xamarin.FormsのGithubのコードも少し見てみましたが原因はよくわかりませんでした。

試したこと

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

目指す状態

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

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

  • Xamarin.Forms : 5.0.0.2083
  • iOS

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

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

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 の両方の開発を行うことができます。