WPF 資料繫結 資料模板介紹

2021-09-14 02:51:35 字數 1384 閱讀 3923

實現效果:

列出任務項資料,由普通資料模板顯示一般資訊,重要任務項則只顯示大寫文字描述。

若任務項的型別為home,由資料模板的邊框改變成黃色,其他任務只大寫顯示文字

根據選定的任務項由資料模板展示其詳細資訊

實踐:datatemplate.triggers資料模板觸發器

itemtemplateselector資料模板選擇器使用

issynchronizedwithcurrentitem同步當前項

重要**:

importanttasktemplate的模板如下:

!

資料模板觸發器xaml**

datatrigger-binding-value--setter

home

介面xaml

選擇器繼承datatemplateselector類

業務邏輯:如果任務重要性等於1,則載入指定重要模板資源,否則載入一般資源

public class tasklistdatatemplateselector : datatemplateselector

return null;}}

擴充套件:

datatemplateselector 類:

若要建立模板選擇器,請建立繼承自 datatemplateselector 的類並重寫 selecttemplate 方法。 在定義您的類後,就可以將類的例項分配到您的元素的模板選擇器屬性。

請注意,如果具有不同型別的物件,則可以對 datatemplate 設定 datatype 屬性。 如果您執行了此操作,則無需建立 datatemplateselector。

此外,如果物件型別相同但屬性不同,也可以考慮使用 datatrigger 或資料轉換器。

itemscontrol.itemtemplateselector 屬性:

使用 itemcontainerstyle 屬性或 itemcontainerstyleselector 屬性來設定樣式,以影響包含資料項的元素的外觀。 例如,對於 listbox,生成的容器是 listboxitem 控制項;對於 combobox,它們是 comboboxitem 控制項。

若要影響項的布局,請使用 itemspanel 屬性。 如果在控制項上使用分組,可以使用 groupstyle 或 groupstyleselector 屬性。

WPF使用非同步繫結資料

1.wpf的xaml方式非同步繫結 step1 定義獲取資料的方法,這裡以省市縣作為例子 code classregiondao publiclistgetcitiesfromprovince int?pid listlist entity.cities.where c c.provinceid p...

WPF繫結資料來源之RelativeSource

一.findancestor 有時候我們不確定作為資料來源的物件叫什麼名字,但知道作為繫結源與ui布局有相對的關係,如下是一段xaml 說明多層布局控制項中放置乙個文字控制項,來顯示父級控制項的名稱。1 xaml html 2 後台 csharp relativesource rs new rela...

flex繫結資料

在使用flex開發的過程中,資料繫結是一定會遇到的,這種技術簡單,又有點好玩,重要的是它讓開發變得簡單了。在flex中,資料繫結的方式有這麼三種 示例1中的繫結方式即是第一種繫結方式,在 中直接填寫inputunit.text,表示label顯示的內容和textinput是關聯的,它會隨著texti...