2010-11-26 21 views
7

Çalışmayı gösteren wpf veya silverlight'ta küçük bir matematik çözücü uygulaması oluşturmak istiyorum. Microsoft Math'un yapabileceklerine benzer bir şey. Denklemde kaç satırın olduğuna bağlı olarak dikey olarak uzatma yeteneği olan köşeli parantezler gibi grafikleri nasıl alabilirim?C# Matematiksel grafik kitaplığı

Bu grafikleri içeren ve .net?

+0

Başlığı düzenlemeyi öneriyorum, bu nedenle 'icon' referansı yoktur. Simgelerden değil, sadece bir grafik kütüphanesinden bahsediyorsunuz. Başlangıç ​​olarak, bu soruya ve bağlantılarına bir göz atmak isteyebilirsiniz: http://stackoverflow.com/questions/1691982/how-to-include-math-symbols-in-editor-or-textbox –

+0

Aşağıdaki linkte matematik denklemi kontrolü. Ne kadar kapsamlı olduğundan emin değilim. Ve ticari amaçlar için ihtiyacınız varsa, sahibiyle iletişime geçmelisiniz. http://windowsclient.net/downloads/folders/controlgallery/entry2346.aspx – Liz

cevap

0

Bunu MathJAX ve JavaScript kullanarak kolayca yapabilirsiniz.

+0

Bu bir wpf uygulamasında çalışabilir mi? –

+0

Bu cevabın, gönderildikten yaklaşık beş yıl sonra neden bir düşüşe neden gittiğini hayal bile edemiyorum. Benimkini yazan cevabın altında böyle bir tedavi görmedi. Moderatörler? – duffymo

+0

@duffymoi bunun bir adım daha ileri gittiğini ve bir örnek verdiğini düşündüm – bigworld12

6

@ duffymo cevabı dayanarak, Referans için MathJAX kütüphane

bir webbrowser WPF Webbrowser yüklemek ve enjekte edebilir:

<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> 

Bu kodu kullanarak JavaScript API ile etkileşime girebilir:

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');"; 
    } 
}