WPF 15 格式化繫結的資料

2022-09-18 18:39:08 字數 2857 閱讀 1161

為了得到更人性化的外觀,需要設計如何修剪資料列表和資料字段。

在基本繫結中,資訊從源到目標傳遞過程沒有任何變化。但有時候希望將資訊轉換到更友好的內容再呈現到介面上。wpf提供了兩個工具:

單個屬性

binding.stringformat 屬性針對簡單的,標準的格式化數字和日期而建立的。

值轉換器功能更強大,建立值轉換器需要4個步驟:

建立乙個實現了 ivalueconverter 介面的類

為該類宣告新增 valueconversion 特性,並指定目標資料型別

實現 convert() 方法

實現 convertback() 方法

[valueconversion(typeof(decimal), typeof(string))]

public class priceconverter : ivalueconverter

public object convertback(object value, type targettype, object parameter, cultureinfo culture)

}

多個屬性

如果希望完成更複雜的工作,需要使用值轉換器:

public class vallueinstockconverter : imultivalueconverter

public object convertback(object value, type targettypes, object parameter, system.globalization.cultureinfo culture)

}

itemscontrol 類為封裝列表中的控制項定義了基本功能,所有列表控制項都繼承自該類。

屬性名說明

itemssource

資料來源displaymemberpath

期望資料項顯示的屬性 (更複雜的顯示使用itemtemplate)

itemstringformat

為每個項格式化文字

itemcontainerstyle

通過樣式可以設定封裝每個項的容器的多個屬性。自動建立這些封裝器物件

itemcontainerstyleselector

為每項的封裝器選擇樣式的styleselector物件

aiternationcount

在資料中設定的交替集合數量

itemtemplate

模板從繫結的物件提取合適的資料並安排到合適的控制項組合中

itemtemplateselector

為每個項選擇模板的 datatemplateselector 物件

itemspanel

用於包含列表中項的面板,所有封裝器都新增到這個容器中

groupstyle

定義應當如何格式化每個分組

groupstyleselector

為每個分組選擇樣式的 styleselector 物件

列表樣式

itemcontainerstyle

當建立列表項時,列表控制項會將其向下傳遞 itemcontainerstyle 屬性,每個列表項都將應用該樣式。

可以讓每個 listboxitem 物件在項文字的旁邊顯示單選按鈕或核取方塊

交替條目樣式

alternationcount指定序列中項的數量,經過改數量後交替樣式。如果設定為2,第乙個listboxitem的 alternationindex=0,第二個為1,第三個為0,第四個為1……。

樣式提供了基本的格式化能力,但不管如何修改listboxitem,它都只是listboxitem.資料模板是一塊定義如何顯示繫結的資料物件的xaml,有兩種型別的控制項支援資料模板:

分離和重用模板

與樣式類似,通常也將模板宣告為視窗或程式的資源。

通過 staticresource 引用來為列表新增資料模板:

如果希望在不同型別的控制項中自動重用相同的模板,可以通過設定 datatemplate.datatype 屬性來確定使用模板的繫結資料的型別。

...

改變模板

目前只能為整個列表使用乙個模板,如果希望採用不同方式靈活展示不同的資料:

模板選擇器檢查繫結物件並使用提供的邏輯選擇合適的模板,需要建立繼承自 datatemplateselector 的類。

與listbox類不同的是,combobox類增加了另外兩個部分:顯示當前選擇項的選擇框和用於選擇項的下拉列表。

combobox提供了自動完成輸入功能,當鍵入內容時,wpf使用第乙個匹配自動完成建議的項填充選擇框中的剩餘內容。可以通過設定 combobox.istextsearchenabled 屬性設定為 false 禁用該功能。

如果iseditable屬性為 true,combobox控制項不是顯示選擇項的副本,而是顯示選擇項的文字形式表示,wpf簡單呼叫tostring()方法。可以通過設定textsearch.textpaht附加屬性來定義選擇框顯示的內容:

2 1格式化輸出

註解的三種方式 1.之後的這一行全為註解 2.之間的內容全是 可以換行 3.後一行都是 這是xml註解 之後會轉換乙個xml檔案 無效表示符 for 關鍵字 3q 不能是數字開頭 count 不可以 可以 console.write 中間不能有.號 ture false 都是給bool布林值 預設為...

(11)格式化輸出

這個模擬較重要,用於格式化翻譯,因為單詞對應的翻譯比較大,有一些例句有幾十條,如果不格式化,返回的講是一大坨,一大坨的,使用者體驗不好 經過這個類的格式化之後,返回的就是一條一條的例句,而不是一大堆 格式化翻譯 class formattrans public function gettrans s...

2 格式化輸出

format 格式化文字並返回結果到字串 print 輸出格式化文字到控制台 println 輸出格式化文字到控制台,並在行尾自動加換行 檔案,format.rc fn main world println hello println hello format println hello this ...