2010-11-26 29 views
7

我想在wpf或silverlight中創建一個顯示工作的小型數學求解應用程序。類似Microsoft Math可以做的事情。如何根據等式中的行數來獲取諸如括號等圖形的垂直拉伸能力?C#數學圖形庫

是否有包含這些圖形並顯示.net步驟的庫?

+0

我建議編輯標題,所以沒有提及`圖標`。你不是在談論圖標,而只是一個圖形庫。作爲首發,你可能想看看這個問題和它的鏈接:http://stackoverflow.com/questions/1691982/how-to-include-math-symbols-in-editor-or-textbox – 2010-11-26 23:51:30

+0

有一個數學公式控制在下面的鏈接。我不確定它有多全面。如果你需要它用於商業目的,你必須聯繫業主。 http://windowsclient.net/downloads/folders/controlgallery/entry2346.aspx – Liz 2010-11-27 00:11:26

回答

6

基於@ duffymo的答案,你可以加載一個網頁瀏覽器 WPF Webbrowser並注入MathJAX

參考:

<Window x:Class="WpfApplication1.Window1" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Title="Window1" Height="300" Width="300"> 
<Grid> 
    <WebBrowser x:Name="Browser" /> 
</Grid> 

您可以使用JavaScript API使用此代碼交互:

public partial class Window1 : Window 
{ 
    public Window1() 
    { 
     InitializeComponent(); 
     Browser.LoadCompleted += BrowserOnLoadCompleted; 
     Browser.Navigate(new Uri("http://example.com")); 
    } 

    private void BrowserOnLoadCompleted(object sender, NavigationEventArgs navigationEventArgs) 
    { 
     var doc = (HTMLDocument)Browser.Document; 
     var head = doc.getElementsByTagName("head").Cast<HTMLHeadElement>().First(); 
     var script = (IHTMLScriptElement)doc.createElement("script"); 
     script.text = "alert('hi');"; 
     head.appendChild((IHTMLDOMNode)script); 
     script.text = "alert('bye');"; 
    } 
}