將列舉型別的資料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...