WPF 資料轉換

2021-10-13 18:35:41 字數 2541 閱讀 9387

將列舉型別的資料state和category分別轉化成影象的uri和bool型資料。本文學習資料為《wpf深入淺出》6.4.2節。

效果如下

1、建立資料源頭

2、建立乙個資料轉化器(實現ivalueconverter介面來實現)

3、建立xaml(將資料轉化器作為靜態資源引入xaml中,並在binding中用到)

4、建立主程式(建立資料、設定binding)

public

enum state

public

enum category

class

flighter

public

state state

public

category category

}

//做乙個型別轉影象的資料轉換器

public

class

category2pic

:ivalueconverter

}public

object

convertback

(object

value

,type targettype,

object parameter,

cultureinfo culture)

}//做乙個狀態轉布林、布林轉狀態的資料轉換器

public

class

state2bool

:ivalueconverter

}public

object

convertback

(object

value

,type targettype,

object parameter,

cultureinfo culture)

}}

<

!--將資料轉化器作為資源引入--

>

category2pic x:key=

"c2p"

/>

state2bool x:key=

"s2b"

/>

<

/window.resources>

<

listbox name=

"listbox" margin=

"5" height=

"350"

>

<

stackpanel orientation=

"horizontal"

>

<

!--binding中用到資料轉化器--

>

<

image width=

"40" height=

"40" margin=

"10" source=

"}"/

>

<

textblock width=

"40" height=

"40" margin=

"10" text=""/

>

<

!--binding中用到資料轉化器--

>

<

checkbox isthreestate=

"true" width=

"40" height=

"40" margin=

"10" ischecked=

"}"/

>

<

/stackpanel>

<

/datatemplate>

<

/listbox.itemtemplate>

<

/listbox>

<

button content=

"重新整理" click=

"button_click"

/>

<

/stackpanel>

public

partial

class

mainwindow

:window

private

void

button_click

(object sender,

routedeventargs e)

,new

flighter()

,new

flighter()

,new

flighter()

,new

flighter()

};binding binding =

newbinding()

;this

.listbox.

setbinding

(listbox.itemssourceproperty, binding);}

}

wpf 資料繫結

1,資料繫結的幾種方式 重點解釋以下幾點 1,目標物件的屬性是依賴項屬性.2,對於default方式,當目標屬性可以設定時,則是雙向繫結,否則是單向繫結.2,使用 繫結和解除繫結 binding binding new binding binding.source silderfontsize 繫結...

對wpf 的入門記錄總結 資料繫結之值轉換

前面弄了資料繫結,現在有這樣一種需求 使用同一種型別,但需要以不同方式呈現的場景。有乙個數值,但您希望以一種方式顯示零值,而以另一種方式顯示正數 想要根據值檢查checkbox,但值是乙個字串,如 是 或 否 而不是布林值 有乙個以位元組為單位的檔案大小,但您希望根據它的大小顯示為位元組,千位元組,...

wpf 的值轉換器使用

1.建類,必須繼承ivalueconverter介面,在命名空間system.windows.data下 class booltocontentconverter ivalueconverter public object convertback object value,type targetty...