MVVMとバインディングを使用してXamarianフォームでリストビューを作成し、グループ化されたリストビューを作成しました。リストビューにiOS向けのUITableViewスタイルグループが必要です。私はオンラインで見つけたカスタムレンダラを使ってこれを作成しようとしましたが、結果はすべてが灰色であるので間違っています。Xamarinフォーム - ヘッダー付きのiOS ListViewネイティブグループスタイルを作成するには?
まず、画像から始めます。これは私がテーブルに私はネイティブのiOS版から取ったwhcihに見えるようにしたいものです:私はXamarinのために、次の取得のカスタムレンダラを追加すると
形成バージョン:
背景色を透明にしようとしていましたが、私がlistview background color = "Transparent"を作成したときに、元のリストビューが表示されていました。次の2つの画像に示されています。
次のようにXAMLページは次のとおりです。
<StackLayout Spacing="0">
<SearchBar x:Name="SearchBarControl" Text="{Binding SearchText}" SearchCommand="{Binding SearchCommand}" Placeholder="Search"></SearchBar>
<ListView x:Name="HistoryList" IsGroupingEnabled="True" GroupDisplayBinding="{Binding Title}" ItemsSource="{Binding History}" CachingStrategy="RecycleElement">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding TagContent}" Detail="{Binding DateAndTime}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
私はそれをグループ化するべきと考えているカスタムレンダラ:
[assembly: ExportRenderer(typeof(ListView), typeof(iOSListViewCustomRenderer))]
namespace Test.iOS.CustomRenderer
{
public class iOSListViewCustomRenderer : ListViewRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<ListView> e)
{
base.OnElementChanged(e);
if (this.Control != null && e.NewElement != null)
{
var tbl = new UITableView(this.Bounds, UITableViewStyle.Grouped)
{
Source = this.Control.Source,
};
this.SetNativeControl(tbl);
}
}
}
}
誰がする必要がある場合何かを見て、私に知らせてください。
フォームのtableviewコントロールは私には適切な外観を与えますが、静的コンテンツであり、SQLデータベースからの動的情報ではないようです。
カスタムセルを作成してセルを白くしようとしましたが、何も変わりませんでした。
xamarinフォームのリストビューを、セルが白でスタイリングされたグループにある最初のイメージのように見えるようにするにはどうすればよいですか?
を参照してください? –
@RohitVipinMathewsそれはどういう意味ですか?上記のXAMLでは、IsGroupingEnabled = "True" GroupDisplayBinding = "{Binding Title}"を追加しました。それはあなたが言及していることですか?それはグループ化されますが、iOSグループ化されたバージョンではなく通常のリストフォームになります。 – SolidSnake4444
'SetNativeControl'を実行すると、すべてのレイアウトと配置があなたの責任です。 –