2014-01-31 105 views
2

我在過去的幾個月裏一直在創建一個WPF應用程序,並且我想向我的應用程序添加動畫的高技能。之前我已經告訴過,jQuery是一個很好的用於動畫的Javascript庫。你可以在WPF應用程序中使用jQuery嗎?

問題是在環顧abit之後,在互聯網上沒有太多東西讓我知道這是否可能。

我對jQuery非常陌生,所以我不太瞭解。如果jQuery不可能在WPF中,那是什麼?

回答

5

所以技術上你可以在WPF中使用jQuery。只是不是你可能會喜歡的方式。 使用web browser control,您可以從本地或遠程源加載html,css和javascript。

請注意*我沒有從頭開始做這個例子。它來自this site

在XAML添加控件

<WebBrowser x:Name="wbMain" Margin="30"></WebBrowser>

和代碼

wbMain.Navigate(new Uri("c:/MyFileThatUsesJqueryAndHasJqueryAsARef.htm"));

兩者之間的通信。此外還可以,但確實需要一些工作。 你將不得不創建擁有完全信任安全COM可見的類


[PermissionSet(SecurityAction.Demand, Name = "FullTrust")] 
[ComVisible(true)] 
public class ObjectForScriptingHelper 
{ 
    Mainwindow mExternalWPF; 
    public ObjectForScriptingHelper(Window1w) 
    { 
     this.mExternalWPF = w; 
    } 
    public void InvokeMeFromJavascript(string jsscript) 
    { 
     this.mExternalWPF.tbMessageFromBrowser.Text = string.Format("Message :{0}", jsscript); 
    } 

}

有了,你會在你的類和訪問它通過JavaScript創建一個實例一樣

<input type="text" id="txtMessage" /> 
<input type="button" value="InvokeMe" onclick="javascript:window.external.InvokeMeFromJavascript(document.getElementById('txtMessage').value);" />

請看文章甚至可以做更多的事情。

注意事項

  • 這比可能不會去一個新的桌面應用程序的最佳途徑。如果它只是利用現有的工具了熟悉的事情,然後我會考慮像學習WPF或尋找類似this questiononeofthese

事實上,如果你是,作爲對使用的方法其他途徑大部分現有的代碼庫以html和javascript編碼,並且帶有離線應用程序,您可以利用這種方法來回收您現有的代碼庫,無論如何,請查看此方法或其他方法之一,例如使用WPF animations

+0

感謝您提供詳細的解答並解決我的問題。我仍然不知道天氣jQuery或動畫在XAML中會更好。 – Ben

+0

根據我的經驗,我會說使用xaml和表達式混合(現在應該有一個免費版本)。我http://msdn.microsoft.com/en-us/library/cc296376(v=expression.40).aspx – Terrance

+1

其他路線很可能會充滿了很大的痛苦 – Terrance

2

JQuery是一個javascript框架,主要運行在瀏覽器中。 WPF是在瀏覽器外部的桌面上運行的.Net演示文稿框架。

然而,你可以使用WPF本身的動畫。有人甚至會說它更容易。

+0

有沒有其他的選擇? – Ben

+0

@Ben是的。 WPF動畫 – i3arnon

+0

@Ben http://msdn.microsoft.com/en-us/library/ms752312(v=vs.110).aspx – i3arnon

相關問題