2017-12-26 16 views
0

私はXamarinを使ってPCLを作成し、アンドロイドに展開しています。Xamarinリストビューセパレータがランダムに表示されます

リストビューの結果がない場合、"表示するものがありません"という文字列が表示されますはリストの一意の項目です。

これを行うと、項目の区切り線が無効になるのは、固有の項目の下に銀色の灰色の線が表示されないためです。

次に、結果が出たら項目の区切り線を再アクティブ化します。

BUT!行を再アクティブ化するときに、すべてのアイテムがそれを持っているわけではありません!それは次のようになります。例えば

ITEM1
------------
ITEM2

ITEM3
--------- -
ITEM4
----------
item5

item6

ご覧のとおり、アイテム2-3と5-6の間にセパレータはありません。

すべての要素がforループで追加されます。それらはすべて文字列です。
バグはランダムで、どのアイテム間でもかまいません。

myList.SeparatorVisibility = SeparatorVisibility.Default; 

し、それらを隠すために:私は区切りを示すために、

myList.SeparatorVisibility = SeparatorVisibility.None; 

は、これが私の最後のか、Xamarinのフォームからバグですか?
これを修正する方法のアイディアはありますか?私はあなたが偽items.Count()== 0にListViewコントロールののisVisibleプロパティを設定し、ラベルを設定することはできないと思います

+0

これはエミュレータでですか?私は解像度が小さすぎたのでこれがエミュレータで起こったのです – cvanbeek

+0

@cvanbeekこれは実際の電話にはありません! – Doctor

+0

私は常にSeparatorVisibilityをNoneに設定し、DataTemplate内にBoxViewを使用して独自の区切りを作成することを選択します。 – FabriBertani

答えて

0

ときitems.Count()== 0

0

これをtrueにのisVisibleプロパティを "商品が見つかりました。"プロパティは動的に設定されることを意図していません。ここではhttps://stackoverflow.com/a/6233491/202179が表示されているように、iOSの変更はセルが再びレンダリングされたときにのみレンダリングされるため、一貫性を持たせるためにネイティブテーブルでReloadDataを使用する必要があります。その方法はListViewに公開されていないので、あなたが求めていることをするための方法はありません。

関連する問題