如何使用ItemTemplateSelector

2022-03-09 12:22:17 字數 1730 閱讀 2002

wpf 的 itemscontrol 資料繫結中,有時會遇到繫結的資料來源是多種型別,並且需要對不同型別使用不同的模板。這個時候就需要用到 itemtemplateselector。

itemtemplateselector 是 datatemplateselector 型別,通常需要定義乙個類繼承 datatemplateselector。

注意,下面**關鍵之處在於定義了 datatemplate 型別的屬性,並在 xaml 中設定其值,避免尋找資源。

public class valueeditortemplateselector : datatemplateselector

set

} public datatemplate enumtemplate

set

} public override datatemplate selecttemplate(object item, dependencyobject container)

}

<

my:valueeditortemplateselector

x:key

="editorselector"

>

<

my:valueeditortemplateselector.standardtemplate

>

<

datatemplate

>

<

dockpanel

>

<

editors:mousewheelvalueeditor

/>

<

my:standardvalueeditor

propertytype=""

value=""

descriptivevalue=""

isselected

="}}

"iseditable=""

propertyinfo=""

/>

<

border

/>

dockpanel

>

datatemplate

>

my:valueeditortemplateselector.standardtemplate

>

<

my:valueeditortemplateselector.enumtemplate

>

<

datatemplate

>

<

dockpanel

>

<

editors:mousewheelvalueeditor

/>

<

my:enumvalueeditor

propertytype=""

value=""

descriptivevalue=""

isselected

="}}

"iseditable=""

propertyinfo=""

/>

<

border

/>

dockpanel

>

datatemplate

>

my:valueeditortemplateselector.enumtemplate

>

my:valueeditortemplateselector

>

如何使用 滅火器如何使用

滅火器的種類不同使用方法也不相同,下面單獨針對乾粉滅火器 泡沫滅火器和二氧化碳滅火器使用方法說明。一 乾粉滅火器的使用方法 適用範圍 適用於撲救各種易燃 可燃液體和易燃 可燃氣體火災,以及電器裝置火災。1 右手拖著壓把,左手拖著滅火器底部,輕輕取下滅火器。2 右手提著滅火器到現場。3 除掉鉛封。4 ...

如何使用 如何正確使用定速巡航

現在隨著造車技術的不斷創新和改進,越來越多的高科技功能都應用到了汽車上,不僅提供了實用性,也讓我們享受到了科技的快感。今天我們就聊一聊一項可以實現車輛自動駕駛的功能 定速巡航。定速巡航 cruise control system 簡稱ccs,簡單的理解就是給車子設定乙個速度值,駕駛員只需要掌握方向,...

如何使用CFileDialog

cfiledialog的語法 cfiledialog bool bopenfiledialog,lpctstr lpszdefext null,lpctstr lpszfilename null,dword dwflags ofn hidereadonly ofn overwriteprompt,l...