1. 程式人生 > >C# WPF ListView專案增加,減少,修改,實時顯示

C# WPF ListView專案增加,減少,修改,實時顯示

建立ListView後,進入GridView建立column集合。

xaml:

        <ListView x:Name="UserList" HorizontalAlignment="Left" Height="350" Margin="10,10,0,0" VerticalAlignment="Top" Width="766">
            <ListView.View>
                <GridView >
                    <GridViewColumn Header="序號" Width="50"/>
                    <GridViewColumn Header="賬號" Width="200"/>
                    <GridViewColumn Header="密碼" Width="200"/>
                </GridView>
            </ListView.View>
        </ListView>

 listview控制元件可以和ObservableCollection變數進行繫結,當ObservableCollection變數新增刪除時,會自動向listview控制元件傳送訊息來通知控制元件進行繪製。

using System.Collections.ObjectModel; //ObservableCollection

private static ObservableCollection<UserData> List = new ObservableCollection<UserData>();

//UserData的定義:

    class UserData
    {
        private string _uin;
        private string _pass;
        private int _id;
        public string uin
        {
            get { return _uin; }
            set {
                _uin = value;
            }
        }
        public string pass
        {
            get { return _pass; }
            set {
                _pass = value;
            }
        }
        public int id
        {
            get { return _id; }
            set {
                _id = value;
            }
        }
        public UserData(int id ,string uin, string pass)
        {
            _id = id;
            _uin = uin;
            _pass = pass;
        }

}

定義後,還需要與控制元件進行繫結,為此需要修改xaml。

xaml:

                    <GridViewColumn Header="序號" Width="50" DisplayMemberBinding="{Binding id}"/>
                    <GridViewColumn Header="賬號" Width="200" DisplayMemberBinding="{Binding uin}"/>
                    <GridViewColumn Header="密碼" Width="200" DisplayMemberBinding="{Binding pass}"/>

 程式碼:

        public MainWindow()
        {
            InitializeComponent();
            UserList.ItemsSource = List;
        }

但是ObservableCollection型別只是在新增刪除時通知控制元件,在修改變數時不會通知,所以我們需要在定義自定義變數型別時加入通知機制。

using System.ComponentModel; //INotifyPropertyChanged

class UserData :INotifyPropertyChanged //通知介面
    {
        public event PropertyChangedEventHandler PropertyChanged;
        private string _uin;
        private string _pass;
        private int _id;
        public string uin
        {
            get { return _uin; }
            set {
                _uin = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("uin"));
            }
        }
        public string pass
        {
            get { return _pass; }
            set {
                _pass = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("pass"));
            }
        }
        public int id
        {
            get { return _id; }
            set {
                _id = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("id"));
            }
        }
        public UserData(int id ,string uin, string pass)
        {
            _id = id;
            _uin = uin;
            _pass = pass;
        }
    }

這樣就實現了listview 增加,減少,修改專案功能了。 

相關推薦

C# WPF ListView專案增加減少修改實時顯示

建立ListView後,進入GridView建立column集合。 xaml:         <ListView x:Name="UserList" HorizontalAlignment="Left" Height="350" Margin="10,10,0,0

PHP 實現大資料(30w量級)表格匯出(匯出excel) 提高效率減少記憶體消耗終極解決方案

使用php做專案開發的同學,一定都會有過使用php進行excel表格匯出的經歷,當匯出少量資料還好,一旦資料量級達到5w、 10w、20w甚至30以上的時候就會面臨同樣的問題: 1、匯出時間變得很慢,少則1分鐘,多則好幾分鐘,資料量一旦上來,還可能面臨導不出來的困窘(這種匯出效率正常人都會受

windows10下C盤或桌面的檔案突然無法修改提示沒有寫入的許可權

有一天,我的桌面上PPT突然不能修改,提示我沒有寫入的許可權,但是當將它複製除C盤意外的地方,就可以修改了,這裡要說一句,桌面也屬於C盤,不知道的可以多漲一個知識點,好了,回到正題,出現上面的情況到底怎麼回事呢?下面的解決辦法大家可以一試。 1.開啟所有設定 2.開啟更新和安全

nRF52832 Timer+PPI+SPI 全硬體觸發方式控制DAC減少CPU干預效率極大提升

【問題】:測試Timer每次通過PPI觸發SPI寫,SPI寫完呼叫回撥函式,回撥函式中測試 NRF_SPIM2->TXD.PTR 的每次都是正常遞增變化的,但是DAC就是沒有實際的輸出; PS:1、要寫的源資料測試是正確的; 2、為了不頻繁佔用CPU資

c語言實現系統(Linux)檔案許可權的修改以及系統檔案的建立寫入和讀取資料

我們都清楚,在Linux要想修改某個檔案的許可權,可以執行chmod命令,(4.為讀許可權,2.為寫許可權,1.為執行許可權)其實我們可以通過編寫C程式來實現這一命令,具體 chmod實現程式如下: #include<stdio.h> #in

優化eclipse減少卡頓java檔案

1.去掉java程式碼的提示與檢測window -> preferences -> java-> bulid和子目錄把所有的√都去掉 https://www.cnblogs.com/AlanLee/p/5383166.html3.eclipse定製化配

c:forEach的資料雙擊修改回車提交的實現

<c:forEach items="${student_list}" var="student" varStatus="status"> <tr> <td><in

webpack4下import()模組按需載入,打包按需切割模組減少包體積加快首頁請求速度

一:背景 因為專案功能越加越多,打包後的體積越來越大,導致首頁展示的時候速度比較慢,因為要等壓縮的js的包載入完畢。 首頁展示的時候只需要對應的js,並不需要全部的js模組,所以這裡就可以用按需載入,這裡webpack4官方文件提供了模組按需切割載入,配合es6的按需載入import()方法,可以做到減少首頁

HDU-5692-Snacks(DFS序+線段樹單點修改區間查詢)

題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=5692 Problem Description 百度科技園內有n 個零食機,零食機之間通過n−1 條路相互連通。每個零食機都有一個值v ,表示為小度熊提供零食的價值。 由於零

使用SpringMVC的crud操作時進行資料修改但是修改成功後頁面無法顯示lastName屬性值(被修改的那條記錄)

我這個錯誤的原因在於,把map的鍵寫錯了,它必須和類名第一個字母小寫相同 @ModelAttribute public void getEmployee(@RequestParam(value="id",required=false) Integer id, Map&l

小米紅米手機ROM製作工具支援編輯修改精簡app定製化修改小白也可上手。

ROM製作工具是目前windows環境下最強大的一款高效免費的ROM定製工具,使用這款工具可以幫助使用者製作修改線刷包、卡刷包智慧解包封包預裝,擁有多種專業ROM定製功能。支援小米、華為、vivo、oppo、一加、努比亞、中興、三星、酷派等品牌的ROM修改,除了製作rom,它

C# WPF MVVM QQ密碼管家專案(8完結篇:自動輸入QQ號、密碼)

原文: C# WPF MVVM QQ密碼管家專案(8,完結篇:自動輸入QQ號、密碼) 目錄: 1,介面設計 2,資料模型的建立與資料繫結 3,新增QQ資料 4,修改QQ資料 5,刪除QQ資料 6,密碼選擇輸入介面資料繫結 7,對QQ登入介面的自動輸入思路分析 8,完結篇:自動輸入QQ號、密碼

*C#(WPF)--矩陣拖動和矩陣動畫(拖動展開不足動畫效果)

stop 項目 鼠標 ani sys unlock 控件移動 top art 最近在研發新的項目,遇到了一個桌面模式下的難點--展開動畫。之前動畫這方面沒做過,也許很多人開始做的時候也會遇到相關問題,因此我把幾個重點及實際效果圖總結展示出來: 我的開發環境是在

C# WPF MVVM QQ密碼管家項目(2模型)

service 做的 ext pri 客戶 完成 bsp chang invoke 2 - 模型Models 在這個項目中只有一個數據模型,那就是qq賬號數據。那麽qq賬號數據具有兩個屬性,一個是qq號,一個是密碼。 mvvm架構中我們需要做的是“前後臺分離

C# WPF MVVM QQ密碼管家項目(7對QQ登錄界面的自動輸入思路分析)

gdi qq密碼 分享圖片 進行 技術 實現 密碼 窗體 rdquo 7 - 對QQ登錄界面的自動輸入思路分析 在開始寫代碼之前我們得好好研究一下QQ的登錄界面。本項目中操作的QQ版本號為:8.9.5(22062) 自動輸入在c#開發上方法有二:1是獲取輸入框控件句柄然

WPF 中TextBox 增加輸入檢測錯誤提示

textbox eight 代碼 alt 自帶 align 信息保存 http validate 先來總結下實現錯誤提示功能的幾個要點 1:binding 的ValidationRules 2 :Validation.ErrorTemplate 首先我們在界面添加一個T

C#/WPF】圖像數據格式轉換時透明度丟失的問題

csdn pypi 數據類型 acc scan str 圖像 ber release 原文:【C#/WPF】圖像數據格式轉換時,透明度丟失的問題 問題:工作中涉及到圖像的數據類型轉換,經常轉著轉著

c++連結SQL server 用SQL語句打印表中的記錄增加表中的記錄刪除表的欄位

#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF") rename("BOF", "adoBOF") // 唯一的應用程式物件 CWinApp

C# WPF DataGrid使用包括隔行多選

C# WPF DataGrid使用,包括隔行多選 xaml cs xaml <ScrollViewer VerticalAlignment="Stretch" x:Name="scro

VS程式設計WPF後臺C#建立Telerik顏色選擇器顏色拾取器調色盤的一種方法

之前的文章說過如何通過XAML語言,前臺建立顏色拾取器, 這裡展示一種後臺程式碼建立顏色調色盤的方法。 1、前臺的XAML格式 <telerik:RadColorEditor Width="500"