成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

ComponentOne使用技巧——從Winform穿越到W

概述

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)絡(luò)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、安寧網(wǎng)站維護(hù)、網(wǎng)站推廣。

WPF 和 Winform 是兩個(gè)單獨(dú)的平臺(tái),但二者又都是基于 .NET 4.0 以上版本開發(fā)的,所以很多.NET開發(fā)人員就開始研究如何在WPF中使用Winform。微軟已經(jīng)架設(shè)了兩個(gè)開發(fā)平臺(tái)的之間的通信橋梁,目前為止二者相互轉(zhuǎn)換使用已經(jīng)相當(dāng)成熟了,今天主要給大家講講如何在這兩個(gè)平臺(tái)下調(diào)用 ComponentOne 的控件。

本文主要用 FlexReport .NET報(bào)表控件,作為介質(zhì)進(jìn)行兩個(gè)平臺(tái)的鏈接

Step 1

首先,我們還是把兩個(gè)平臺(tái)的基本通信通道搭建起來,很簡(jiǎn)單,網(wǎng)上有很多步驟,總結(jié)起來主要分三步:

1.添加兩個(gè)引用:WindowsFormsIntegration.dll(負(fù)責(zé)整合WPF和Windows)、System.Windows.Forms.

2.在 XAML文件中添加兩個(gè)引用(粗體部分):

<Window x:Class="CrossBowDemo.MainWindow"
xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
xmlns:wf ="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Hosting Windows Forms Control In WPF"
Height="300"
Width="650"
ResizeMode="NoResize"
Loaded="WindowLoadedHandler">
 < /Window>

解釋一下,這段代碼真正起作用的是這個(gè)引用WindowsFormsIntegration.dll,而這個(gè)引用System.Windows.Forms 指的是Winform里面的微軟的原生態(tài)控件,所以在用到ComponentOne時(shí),可以不引用它。

我們先看一個(gè)示例:通過微軟原生態(tài)控件在WPF中使用Winform,代碼如下:

<wfi:WindowsFormsHost>
        <wf:DataGridView x:Name="Dg"  Dock="Fill" SelectionMode="FullRowSelect">            
        </wf:DataGridView>
    </wfi:WindowsFormsHost>

WindowsFormsHost其實(shí)是Winform在WPF的容器,所以Winform的控件顯示都要在這個(gè)容器里面。

Setp2

上面我們說了,我們以FlexReport為介質(zhì)進(jìn)行通信,那我們需要準(zhǔn)備的幾個(gè)小步驟:

1.Winform下FlexReport的模板

2.相關(guān)引用

ComponentOne使用技巧——從Winform穿越到W

注意:這里面的引用是Winform的引用。同樣,我們需要在xmal中引用:

xmlns:cc11="clr-namespace:C1.Win.FlexViewer;assembly=C1.Win.FlexViewer.4"

在布局中添加可供報(bào)表預(yù)覽的控件

<Grid>
        <wfi:WindowsFormsHost>
            <cc11:C1FlexViewerPane   x:Name="flexViewerPane"  ></cc11:C1FlexViewerPane>
        </wfi:WindowsFormsHost>
    </Grid>

Setp3

我們?cè)诤笈_(tái)加載報(bào)表

private C1FlexReport _report;
    public Window1()
    {
        InitializeComponent();

        _report = new C1FlexReport();

        // load report definition from resources
        Assembly asm = Assembly.GetExecutingAssembly();
        using (Stream stream = asm.GetManifestResourceStream("WpfApp1.Resources.FlexCommonTasks.flxr"))
            _report.Load(stream, "Chart2D");

        // assign report to the preview pane
        flexViewerPane.DocumentSource = null;
        flexViewerPane.DocumentSource = _report;
    }

注:切記,這里面的報(bào)表是Winform平臺(tái)下的

到這一步,我們工作完成了一大半,還差最后一步點(diǎn)石成金的步驟。很多人以為在這就結(jié)束了,但是我們要考慮 ComponentOne License 授權(quán)的問題,如何把Winform 的授權(quán)在WPF下注冊(cè),其實(shí)很簡(jiǎn)單,因?yàn)?.NET 的license機(jī)制一樣,我們只需用同樣的方式去注冊(cè)控件的license ,不過這里推薦手動(dòng)注冊(cè),這很重要,因?yàn)橐徊恍⌒?,就?huì)報(bào)lc.exe=-1的錯(cuò)誤

這里我們都用到了

  • C1FlexViewerPane

  • C1FlexReport

所以我們?cè)趌icense文件中寫如下注冊(cè)信息

C1.Win.FlexReport.C1FlexReport, C1.Win.FlexReport.4 C1.Win.FlexViewer.C1FlexViewerPane, C1.Win.FlexViewer.4

至此,我們就大功告成了。

示例×××

本文中的示例源碼,請(qǐng)點(diǎn)擊此處下載

關(guān)于葡萄城:

賦能開發(fā)者!葡萄城公司成立于 1980 年,是全球領(lǐng)先的集開發(fā)工具、商業(yè)智能解決方案、管理系統(tǒng)設(shè)計(jì)工具于一身的軟件和服務(wù)提供商。西安葡萄城是其在中國(guó)的分支機(jī)構(gòu),面向全球市場(chǎng)提供軟件研發(fā)服務(wù),并為中國(guó)企業(yè)的信息化提供國(guó)際先進(jìn)的開發(fā)工具、軟件和研發(fā)咨詢服務(wù)。葡萄城的控件和軟件產(chǎn)品在國(guó)內(nèi)外屢獲殊榮,在全球被數(shù)十萬家企業(yè)、學(xué)校和政府機(jī)構(gòu)廣泛應(yīng)用。

新聞名稱:ComponentOne使用技巧——從Winform穿越到W
URL地址:http://jinyejixie.com/article8/ggipip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、響應(yīng)式網(wǎng)站企業(yè)建站、定制網(wǎng)站用戶體驗(yàn)、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
清流县| 鄂托克前旗| 台州市| 日土县| 健康| 玉田县| 浙江省| 灵宝市| 伊金霍洛旗| 巫溪县| 凤台县| 景谷| 宿迁市| 依安县| 库车县| 新民市| 马龙县| 称多县| 张家口市| 镇雄县| 彰化市| 龙江县| 鸡西市| 大丰市| 方正县| 珲春市| 中西区| 玛曲县| 通海县| 扶绥县| 开平市| 涟源市| 潼关县| 丹寨县| 枝江市| 临清市| 安徽省| 古浪县| 永昌县| 大竹县| 饶阳县|