WP中如何為ListBox中的item動態生成模板

2021-08-26 21:55:40 字數 884 閱讀 9881

本文原文見windowgeek。

在window phone中,我們常常遇到一些情形,譬如在listbox中,我們要根據具體的data來決定該如何顯示當前項。這可以通過datatemplateselector來實現。

實現datatemplateselector抽象類

public abstract class datatemplateselector : contentcontrol

protected override void oncontentchanged(object oldcontent, object newcontent)

}

建立你自己的資料模板選擇器

public class rsstemplateselector : datatemplateselector

public datatemplate imgtemplate

public datatemplate texttemplate

public override datatemplate selecttemplate(object item, dependencyobject container)

else if (commonutil.isempty(rss.image) && !commonutil.isempty(rss.description))

else if (commonutil.isempty(rss.description) && !commonutil.isempty(rss.image))

}return base.selecttemplate(item, container);

}}

定義xaml檔案

綜上,我們就可以實現為listbox提供動態模板了。

wpf 中ListBox的用法

listbox可以用來顯示類似web中新聞列表的樣式,顯示也比較靈活,可以自定定義模板 datatemplate x key listboxtemplate stackpanel margin 4 dockpanel grid grid.rowdefinitions rowdefinition ro...

WPF中ListBox的繫結

wpf中列表式控制項派生自itemscontrol類,繼承了itemssource屬性。itemssource屬性可以接收乙個ienumerable介面派生類的例項作為自己的值 所有可被迭代遍歷的集合都實現了這個介面,如陣列 list等 每乙個 itemscontrol的派生類都有自己的條目容器,如...

WPF 拖拽ListBox中的Item

整理了兩個關於wpf拖拽listbox中的item的功能。專案位址 需求一 兩個listbox,拖拽其中乙個listbox的item,放置到另乙個listbox中。參考 右邊listbox2本來是空的,從左邊listbox1中拖拽了乙個item過去。需求二 單個listbox,拖拽item,釋放後i...