1. 程式人生 > >教程:將WPF控制元件轉化為.dll檔案實現控制元件打包重用

教程:將WPF控制元件轉化為.dll檔案實現控制元件打包重用

最近公司在進行顯控軟體的升級,需要將現有程式的winform介面升級為WPF。由於是剛剛接觸C#和WPF,在開發過程中,自己摸索了一下自定義WPF控制元件的實現方法,在此做個總結。

先通過類庫編譯WPF程式生成dll檔案,再在其他程式中引用對應的dll檔案,即可開始呼叫了。

首先,新建專案,建立一個類庫檔案:

 

接著,在該專案中刪除掉cs類檔案,新建一個wpf檔案:

 

在該檔案中,進行WPF控制元件的程式碼編寫:

 

編寫完成後,點選編譯。會出現如下的錯誤提示:

 

此時,右擊專案中的引用,選擇新增引用,在程式集—框架中找到System.Xaml選中並確定:

 

再次編譯執行,會提示使用者,程式編譯正確,但是無法直接啟動:

 

 

前往專案所在目錄,開啟bin\Debug資料夾,可以看到一個名為xxx.dll的檔案,這就是我們的目標dll檔案。到此,打包工作就算是完成了:

 

下一步,新建一個WPF程式作為盛放控制元件的母體:

 

右擊專案中的引用,選擇新增引用,將剛剛編譯好的dll檔案匯入,確認:

 

接著,在專案的WPF程式碼中新增宣告名稱空間:

 

然後就可以在WPF程式碼裡引入剛剛的控制元件了,再拖上一組TextBox + Button進行除錯:

 

在C#程式碼裡可以直接呼叫剛剛自定義控制元件裡的方法了:

 

跑一下剛剛寫的程式碼:

 

PS:本文的機器環境為:VS2013 + .net4.5

相關推薦

教程WPF控制元件化為.dll檔案實現控制元件打包重用

最近公司在進行顯控軟體的升級,需要將現有程式的winform介面升級為WPF。由於是剛剛接觸C#和WPF,在開發過程中,自己摸索了一下自定義WPF控制元件的實現方法,在此做個總結。 先通過類庫編譯W

javahtml的圖文化為PDF檔案輸出

首先在我的專案的resource目錄下建立相應的目錄,如圖其中file用來存放一個logo以及生成的PDF檔案,font資料夾用來存放font 字型然後在專案的 pom.xml中新增引用<dependency> <groupId>org.xht

php學習筆記之word文件化為HTML檔案

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html

BCGControlBar教程MFC控制元件的BCGControlBar / BCGSuite新增到

BCGControlBar Pro for MFC最新試用版下載請猛戳>>>如果正在使用我們的Windows Forms產品,那麼將我們的控制元件新增到窗體是沒有問題的:只需從Visual Studio工具箱中拖動所需的專案並將其拖放到窗體中即可。 但是,MFC開發人員的生活並不那麼容易:在

BCGControlBar教程MFC控制元件的BCGControlBar / BCGSuite新增到對話方塊中

BCGControlBar Pro for MFC最新試用版下載請猛戳>>> 如果正在使用我們的Windows Forms產品,那麼將我們的控制元件新增到窗體是沒有問題的:只需從Visual Studio工具箱中拖動所需的專案並將其拖放到窗體中即可。 但是,MFC開發人員的生活

如何CAJ文檔化為doc文檔

發送 images alt 如何 分享 blog 點擊 png 字體 1.打開CAJ文檔,把你想要復制的字體調整到一頁可以顯示的大小 2.點擊工具欄上面的“文字識別” 3.用鼠標圈住想要顯示復制粘貼的文字 4.就可以隨便了,想要在這個頁面復制粘貼,或者讓發送到word

自己數據化為cifar10支持的lmdb

顯示 c++ track div ifs cat 自己的 align blog 大家都知道,在caffe裏面,要運行cifar10的例子就得先由cifar10的數據庫。由於caffe為了提高運行效率,減少磁盤尋道時間等,統一了數據接口(lmdb,leveldb)。 首先,

詳細教程本地項目上傳到github

--help ror list led publickey id_rsa -h 一行 ble   作為 一個工程師,將本地項目上傳到github進行備份和分享是一個不錯的技能,一來可以方便以後的工作,二來可以分享自己的成果。所以下面本人詳細教大家如何將本地項目上傳到gith

如何字符串化為Jsoup的Document 對象

des ng- 轉化 main 解析html ont document gin wid 有些時候在java操作解析html元素的時候比較繁瑣,今天螃蟹就介紹一種可將html轉換為document對象的方法——jsoup jsoup為我們解析html提供了比較全的API接

Java 中要 String 類型化為 int 類型

ava index 需要 amp con 轉換 catch div 出現 在 Java 中要將 String 類型轉化為 int 類型時,需要使用 Integer 類中的 parseInt() 方法或者 valueOf() 方法進行轉換. 例1: 1 2 3 4 5

如何java項目化為web項目

ble ont 代碼段 nat webapps com eclipse 配置 onf 1、修改工程文件 找到項目工作空間目錄,打開.project文件,找到:<natures> </natures>代碼段,在代碼段中加入如下內容並保存:<nat

中國標準時間化為yyyy-MM-dd

// 將Thu May 12 2016 08:00:00 GMT+0800 (中國標準時間)轉化為yyyy-MM-dd parseTime (str) { if ((str + '').indexOf('-') != -1) { str = str.replace(new RegExp(

Tensorflow學習筆記資料集加工和化為TensorFlow專用格式——Finetuning,貓狗大戰,VGGNet的重新針對訓練

Kaggle 貓狗大戰 貓狗大戰的資料集來源於Kaggle上的一個競賽:Dogs vs. Cats    貓狗大戰的資料集下載地址http://www.kaggle.com/c/dogs-vs-cats,其中資料集有12500只貓和12500只狗 ,官方資料集下載需要帳號,大

Gson基本使用 -- 解析json,jsonArray。任意java物件化為json格式

    Gson是一款幫助解析Json,JsonArray和將Java物件轉換為Json格式的框架。一、將json解析為java物件先看效果圖程式碼實現1.在app模組的build.gradle的dependencies中引入Gsonimplementation 'com.g

在Windows下python中scikit learn的模型化為PMML檔案

最近專案需要將python中訓練好的模型轉移到Java中使用,所以在網上查到了PMML可以實現這個功能,那麼本文將介紹在Windows下如何將python中scikit learn的模型轉化為PMML檔案,從而方便將訓練好的模型供其他語言使用。 何為PMM

LoadRunner使用之fiddle指令碼儲存後化為LoadRunner指令碼

很多小白同學在使用LoadRunner時,每次都卡死在LoadRunner安裝成功後,錄製指令碼,LoadRunner啟動不了瀏覽器,打不開啊,開啟後又是一片空白啊等等!!!瀏覽器打開了,錄製的事

教程 Amazon Linux 上的 Apache Web 伺服器配置為使用 SSL/TLS

因為原文即是中文,所以在此不做更多的解釋,只在本文中描述遇到的問題,具體解決方案請檢視原文。 這些過程適用於 Amazon Linux。如果您嘗試在其他分配的例項上設定 LAMP Web 伺服器,

Art下DexClassLoaderdex化為oat檔案格式的過程

經過看原始碼DexClassLoader最終會呼叫DexFile類中的native函式openDexFileNative。 下面來看看openDexFileNative函式做了什麼。 openDexFileNative函式在art\runtime\native\dalvi

excle化為.sql檔案並匯入MySQL資料庫的方法

一,建立excle資料表 二,在第三列用公式插入如下內容=CONCATENATE("INSERT INTO match_flower(id,name) VALUES('" & B1 &

使用vivadobit文件化為mcs文件

轉化 alt 分享 vivado bsp 分享圖片 .com img ima 使用vivado將bit文件轉化為mcs文件