現在、私はセル全体の背景イメージを効果的に使用するために作成したカスタムのCellView
テンプレートを持ち、テキストオーバーレイを持っています。Selected ItemハイライトされたリストビューのXamarin.Forms
これを絶対レイアウトで行い、カスタムセルテンプレートをListView
にバインドしました。
私の問題は、一見、もはや選択時にセルを強調表示できなくなることです。
私は私の問題は、(適切な背景画像として最初のスタックレイアウトにそれをない追加することで)、セルの背景の100%を占めた画像から発信されていること、あるいは私のカスタムViewCell
実装はItemSelection
を実装していないことを推測しています正しく。
ListView
のセルには、デフォルトで何らかの選択ハイライトが表示されています。それはデフォルトのListView
で動作していましたが、画像の外側のセルの小さなセグメントで相対レイアウトを使用していましたが。
私はセルをハイライトすることができました。
画像は実際にはハイライトされませんでした。だから、私はイメージが問題だと思っているのです。
は、私はそれが選択されていることを示すためにいくつかの色で
ハイライト蛇口のセル全体のイメージとすべてを達成したい何か。共有コード(PCL)内。
これまで、非表示のBoxView
を作成して、透明度をクリックして表示するようにしました。しかし私は実際にこれをItemSelected()
の使用で起こらせる方法を理解できませんでした。コード化された解決策を求めているのではなく、むしろ正しい方向の指を求めています。しかし、私はコード化された解決策に異議を申し立てません。
public CustomViewCell()
{
var someLabel= new Label();
someLabel.SetBinding (Label.TextProperty, "someLabel");
var someImage = new Image() {
Aspect = Aspect.AspectFill,
};
someImage.SetBinding (Image.SourceProperty, "ImageSource");
AbsoluteLayout.SetLayoutFlags (someImage, AbsoluteLayoutFlags.All);
AbsoluteLayout.SetLayoutBounds (someImage, new Rectangle (0f, 0f, 1f, 1f));
AbsoluteLayout.SetLayoutFlags (someLabel, AbsoluteLayoutFlags.PositionProportional);
AbsoluteLayout.SetLayoutBounds (someLabel,
new Rectangle (0.1, 0.85, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize)
);
AbsoluteLayout theLayout = new AbsoluteLayout {
HeightRequest = 50,
BackgroundColor = Color.Black
};
theLayout.Children.Add (someImage);
theLayout.Children.Add (someLabel);
this.View = theLayout;
}
}
この後、私はバインディング用の基本アクセサを用意し、リストを作成した/テンプレートを適用しました。必要な場合は私が提供することができますが、彼らは基本的です。
コードを入力してください。 –