2013-05-02 45 views
1

我在我的asp.net項目解決方案中創建了另一個WPF項目,現在想在我的web應用程序中使用我的WPF控件。是否有可能在我的web項目中使用wpf控制?我在互聯網上找出一些說,像你必須使用Silverlight的Web應用程序。據我所知silverlight是WPF的子部分,所以爲什麼我不能使用WPF?我必須使用WPF控件,因爲已經做了足夠的努力來構建wpf控件,現在想要在Web應用程序中使用。在Web項目中使用WPF控件

+0

WPF是一個框架。 Silverlight是一個插件。兩者都非常不同。您可能會發現它們與XAML類似,但它們受非常不同的原則支配。 – StaWho 2013-05-02 08:12:12

+0

@StaWho silverlight不是插件,silverlight使用插件作爲.NET運行時的代理。 – Marco 2013-05-02 08:29:42

+0

@Marco Call me daft,但.NET Runtime的哪個版本在MAC上使用Silverlight,或Moonlight在Linux上使用哪種版本? – StaWho 2013-05-02 08:57:10

回答

0

不,您不能在網頁中使用WPF。 WPF適用於Windows應用程序,只能在Windows機器上運行。互聯網是設備無關的,可以在Windows,Linux,Android,iOS等上運行。因此,您需要爲Web應用程序和Windows應用程序使用ASP .NET(或類似的)。

Silverlight是WPF的一個子集,將在網頁上工作...... 但是並非所有設備都支持它(即iOS)。所以,如果你真的想成爲系統不可知論者並且忠於Web的精神,使用HTML/CSS和JavaScript。

+0

他無法在網頁中使用WPF,但他肯定可以將Silverlight應用程序託管在網頁中。 – Marco 2013-05-02 08:14:56

+0

@Marco - 是的,我澄清了他**可以**使用Silverlight,但它不適用於所有設備。他沒有具體說明它將在哪裏使用,所以我強調Silverlight會起作用,但要記住它不會在任何地方工作,HTML等。 Silverlight和LOB一樣偉大,但對於大多數應用程序恕我直言,這並不是。 – Belogix 2013-05-02 08:25:41

+0

他在想首先使用wpf,所以我不認爲他很擔心,但也許他不知道。 – Marco 2013-05-02 08:32:30

0

您可以通過使用不是WPF的Silverlight組件來實現這一目標。正如你所說silverlight是WFP的一個子集,所以並不是所有的WPF功能都支持,但是silverlight runner。大多數情況下,視覺效果是完全兼容的,即用戶控件,所以如果你沒有使用任何特定於WPF的東西,那麼你應該是宏偉的。

或許檢查這裏:

WPF vs Silverlight

順便說一句,你可以發表你的XAML,使我們得到一個想法?

馬爾科

2

是的,你可以嵌入WPF在網頁控制,但你需要啓用(多像Silverlight)的相關插件。

作爲示例,Xceed Datagrid for WPF可在Internet Explorer中查看。

Xceed Datagrid with Internet Explorer

雖然XAML應用程序默認情況下禁用,你需要讓他們在您的Internet Explorer的安全設置。

Internet Explorer Security Settings

一個針對Firefox,你既需要.net Framework助手和WPF插件通過MSDN的建議。

WPF是一個非常棒的框架,並且啓用基於WPF/XAML的Intranet應用程序的應用程序將會很好(您可以通過組策略繼承安全權限),或者爲不介意額外配置的集合受衆。

0

儘管有許多方法可以做到這一點(本頁面上的其他用戶已經提到過),但依靠訪問者在瀏覽器中安裝此配置或插件意味着實現此目標非常危險(假設您的目標是WWW而不僅僅是本地用戶)。

我會考慮建立一個Web應用程序的用戶界面,只是通過類libaries引用的一切(如果使用N個層設計)

0

不管是什麼可能與否,使用嵌入在HTML頁面WPF控件是太可怕。

傳統的WPF控件可能正在運行(更改瀏覽器設置後),但存在很多安全問題。此外,您必須向任何人顯示真實頁面之前向用戶顯示一份清單。

Silverlight作爲WPF的子集,但它也是一個不適用於所有平臺(例如iOS)的插件。

我建議使用HTML 5,這是本身的標準,並且可以在所有其他平臺上查看。它會導致更多的努力,但絕對值得。

相關問題