0
目前使用ListView的我只發現可以爲單元格創建模板,這使得每個單元格看起來完全一樣。在列表視圖中不能有多個自定義單元格。有些解決方法像隱藏內容一樣依賴於內容,但是這看起來很不方便。ListView中的多個自定義單元格(跨平臺)
我想在tableview上使用listview的原因是因爲我們打算做插入,刪除,動態顯示某些單元格,而listview可以綁定到數據源。
目前使用ListView的我只發現可以爲單元格創建模板,這使得每個單元格看起來完全一樣。在列表視圖中不能有多個自定義單元格。有些解決方法像隱藏內容一樣依賴於內容,但是這看起來很不方便。ListView中的多個自定義單元格(跨平臺)
我想在tableview上使用listview的原因是因爲我們打算做插入,刪除,動態顯示某些單元格,而listview可以綁定到數據源。
創建您自己的ViewCell,它將覆蓋綁定上下文更改方法。當綁定更改時,將ViewCell的視圖設置爲與視圖模型類型相匹配的視圖,並設置單元格的高度。下面是一個快速示例,應該讓你知道如何完成它。
public class DataTemplateCell1 : ViewCell
{
protected override void OnBindingContextChanged()
{
var vm1 = this.BindingContext as ViewModel1;
if (vm1 != null)
{
this.View = new View1() { HeightRequest = 40 };
this.Height = this.View.HeightRequest;
return;
}
var vm2 = this.BindingContext as ViewModel2;
if (vm2 != null)
{
this.View = new View2() { HeightRequest = 80 };
this.Height = this.View.HeightRequest;
return;
}
base.OnBindingContextChanged();
}
}
你需要的是'DataTemplateSelector'。您可以輕鬆構建自己的Windows Phone 8版本,您可以使用它作爲實現的基本代碼。 – 2015-02-23 21:29:00