C WPF ListView控制項的例項詳解

2022-09-26 03:54:13 字數 2242 閱讀 7004

c# wpf listview控制項的例項詳解

c#的wpf作為現在微軟主流的桌面程式開發平台,相比過去的mfc時代,有了非常多的不同。本人剛從mfc平台轉過來,以為可以輕鬆上手,哪知碰到了很多問題,十分不解。不得不乖乖回去看了本書,再繼續回到邊左邊邊學的路上。在這邊也推薦《深入淺出wpf》這本書,拿來上手還是極好的。

由於wpf以資料驅動ui的設計理念,很多控制項用起來都與之前平台的相差很多,listview控制項算是有代表性的,這是進化的成果。關於該控制項的應該,很多參考了這篇博文,如覺本人記述不清楚,可去查閱。

wpf的**分為前端和後端兩部分,前端為ui,負責與使用者進行互動;而後端則負責演算法和資料的執行。由於這種機制,我們程式設計師對兩端都需要有乙個大概的了解,且主要注重於後端,這點相比以前混起來的機制實在是好太多。

listview控制項的xaml**大致如下書寫:

www.cppcns.coml}"/>

**中我們設定了乙個四列,列項分別為「姓名」、「工作年限」、「工作**」和「郵箱」的列表,並將各項的成員分別與乙個變數名稱相繫結。單單寫這些**就已經可以看到介面上有乙個對應的列表出現,且可以編譯執行。前端的工作也大致結束(定程式設計客棧義出控制項大致外觀和給出繫結介面),具體資料內容,可交給後端來繫結。

接下來我們來寫後端的c#**:

先定義乙個類,這個類中的變數將與上面列表項繫結的變數一一對應,這樣我們例項化乙個物件便將對應於列表的一行。

class personalinfo//個人資訊類

set

} public string workphonenumber

set

} public int workyears

set

} public string name

set

} public personalinfo(string name, int workyears, string workphonenumber, string email)//建構函式

}定義了上面的類之後,我們在**中使用system.collections.objectmodel這個命名空間,然後使用「obervablecollection」即「動態資料集合類」來管理我們的類物件。

observable程式設計客棧collection personalinfolist = new observablecollection();

之後,給資料集合新增類成員

personalinfolist.add(new personalinfo("李白", 10, "134124", "[email protected]"));

personalinfolist.add(new personalinfo("杜甫", 2, "242354", "dufu@h"));

personalinfolist.add(new personalinfo("蘇軾", 4, "345356", "[email protected]"));

personalinfolist.add(new personalinfo("李清照", 3, "453546", "[email protected]"));

最後,把資料和ui繫結在一起便大功告成了

listview.itemssource = personalinfolist;

上面的**編譯之後便能看到列表框和裡面的資料,由於「obervablecollection」在資料新增和刪除的時候後傳送訊息給ui,所以我們在新增和刪除一項資料的時候ui會做相應的修改。然而如果修改類裡面的內容的時候則不行,因為修改的時候沒有傳送訊息通知ui,所以我們還需要給「personalinfo」類定義訊息通知介面,讓其資料發生改變的時候也給ui傳送訊息。該類修改如下(需要新增system.componentmodel命名空間):

class personalinfo: inotifypropertychanged //個人資訊類

set

} public string workphonenumber

set

} public int workyears

set

} public string name

set

} public personalinfo(string name, int workyears, string workphonenumber, string email)//建構函式

}這樣,我們便實現了listview控制項的基本繫結、修改和顯示功能了。

本文標題: c# wpf listview控制項的例項詳解

本文位址:

C 控制項 MenuStrip控制項(選單控制項)

一 概述 選單通過存放按照一般主題分組的命令將功能公開給使用者。menustrip 控制項是此版本的 visual studio 和 net framework 中的新功能。使用該控制項,可以輕鬆建立 microsoft office 中那樣的選單。menustrip 控制項支援多文件介面 mdi ...

Literal控制項與Label控制項的對比

1 literal的一般用法,與label對比 msdn上的解釋 使用 system.web.ui.webcontrols.literal 控制項在網頁上保留顯示文字的位置。literal 控制項與 label 控制項類似,但 literal 控制項不允許對所顯示的文字應用樣式。可以通過設定 tex...

WinForm控制項與WPF控制項的互動

原文 winform控制項與wpf控制項的互動 這個問題其實也可以理解為 怎樣在wpf xaml中使用winform中的控制項 如picturebox 首先看看xaml 注意下面加粗的部分 c system.windows.forms.picturebox picturebox null void ...