■
同じことをPythonだけでやってみた。
サーバ側にWindow1.xamlとtest.pyをおいて、クライアント側で下のプログラムを実行。
import clr
clr.AddReferenceByPartialName("PresentationCore")
clr.AddReferenceByPartialName("PresentationFramework")
clr.AddReferenceByPartialName("IronPython")from System import *
from System.IO import *
from System.Net import *
from System.Text import *
from System.Windows import *
from System.Windows.Markup import XamlReader
from IronPython.Hosting import *
client = WebClient()
data = client.DownloadData( "http://localhost/Window1.xaml" )
st = MemoryStream( data );mainwnd = XamlReader.Load( st )
mainwnd.Height = 480
mainwnd.Width = 640
mainwnd.Title = "hoi"#---------------------------------------------------------------------
py = PythonEngine();
py.Globals["mainwnd"] = mainwnd;
data = client.DownloadData( "http://localhost/test.py" ); # <--IronPython Script
script = Encoding.GetEncoding("shift_jis").GetString( data, 0, data.Length );
py.Execute( script );
ap = Application()
ap.Run( mainwnd )
Window1.xamlの挙動をtest.pyが制御できる、ということです。