最近由於想做乙個windows的桌面應用程式,正好最近看了一下c#,在網上找了一下關於windwos桌面應用的相關檔案,最後選擇使用wpf來開發。
使用datagrid用到的功能
datagrid通過使用資料繫結,實現資料的雙向通知。
在datagrid的datagridcomboboxcolumn
使用列舉。
datagrid的自定義cell的使用。
datagrid多出的一行的去除。
首先定義乙個model,省略了部分**
public
enum ***s
;public
enum roles
;public delegate void
change
(user user)
;//實現介面以進行資料繫結
public
class
user
: inotifypropertychanged
set}}
//省略。。。。。
#endregion
public event propertychangedeventhandler propertychanged;
protected virtual void
onpropertychanged
([callermembername] string propertyname = null)
}
然後就是view層的實現了。
先是資料繫結,通過使用標籤的binding
屬性,將上面的model的字段對應到單元格上。
然後是列舉的使用。首先要引入列舉型別,使用xmlns:assembly="clr-namespace:system;assembly=mscorlib"
引入,用到的列舉只要在xmlns:local="clr-namespace:adressbook"
這個命名空間下就可以了。
日期的格式化輸出(與字元格式化輸出同理),通過在binding裡面使用stringformat='{}',converterculture=zh-cn
即可。
如果要自定義griddata的單元格的內容,像是新增按鈕什麼的,可以使用標籤datagridtemplatecolumn
datagrid的在顯示的時候會自動生成最後一行,倒是展示的時候多了一行,可以通過設定datagridcanuseraddrows
的值為false,由於我直接在xaml設定的時候會警告,所以我就在controller裡面設定了。。。
x:class
="adressbook.userlist"
xmlns
=""xmlns:x
=""xmlns:mc
=""xmlns:d
=""xmlns:local
="clr-namespace:adressbook"
xmlns:assembly
="clr-namespace:system;assembly=mscorlib"
mc:ignorable
="d"
d:designheight
="300"
d:designwidth
="800"
>
>
x:key
="***enum"
methodname
="getvalues"
objecttype=""
>
>
<
x:type
typename
="local:***s"
/>
objectdataprovider.methodparameters
>
objectdataprovider
>
usercontrol.resources
>
x:name
="data"
autogeneratecolumns
="false"
>
>
width
="80"
header
="id"
binding=""
/>
width
="80"
header
="性別"
itemssource
="}"
selecteditembinding=""
/>
width
="80"
header
="生日"
binding
="',converterculture=zh-cn}"
/>
header="
" width
="44"
>
>
>
content
= click
="commentaction"
/>
datatemplate
>
datagridtemplatecolumn.celltemplate
>
datagridtemplatecolumn
>
datagrid.columns
>
datagrid
>
usercontrol
>
最後就是controller的實現了。
public partial class
userlist
: usercontrol
//設定資料來源
data.datacontext = list;
//讓datagrid的最後一行消失
data.canuseraddrows =
false;}
private
void
viewcomment
(object sender, routedeventargs e)
//資料改變的時候的操作
void
change
(user user)
}
WPF學習筆記一 WPF概述
windows presentation foundation wpf 是下一代顯示系統,用於生成能帶給使用者震撼視覺體驗的 windows 客戶端應用程式。使用 wpf,您可以建立廣泛的獨立應用程式以及瀏覽器承載的應用程式。今年由於專案需求,開始學習使用wpf,本系列文章將記錄學習wpf中遇到的各...
WPF學習之路(一) 初識WPF
參考 葵花寶典 wpf自學手冊 vs2012 先建立第乙個wpf小程式 1.建立wpf程式 2.檢視solution,wpf中xaml檔案和cs檔案經常成對出現 3.新增button和click事件 mainwindow.xaml mainwindow.xaml.cs private void bu...
WPF學習筆記 一
第一點 wpf windows presentation foundation 是微軟推出的基於windows vista的使用者介面框架,屬於.net framework 3.0的一部分。它提供了統一的程式設計模型 語言和框架,真正做到了分離介面設計人員與開發人員的工作 同時它提供了全新的多 互動...