WPF/IronPythonで、Art55さんの 衝動アプリ!を実行してみました。
創造的プログラミングと粘土細工 ⇒
【WPF】衝動アプリ!アニメーションをふんだんに使ってみる!
http://pro.art55.jp/?eid=1119019
は、本当に衝動アプリだ! 本当に眼から鱗だ!!
Window XAML ⇒ Art55.xaml
http://softgarden.lovepop.jp/myBlog/xaml/Art55.xaml
Resouces XAML ⇒ Art55_Resouces.xaml
http://softgarden.lovepop.jp/myBlog/xaml/Art55_Resouces.xaml
#
# Art55.py
#
import clr
clr.AddReferenceByPartialName("PresentationFramework")
clr.AddReferenceByPartialName("PresentationCore")
from System.Windows import ( Window, WindowState, Application ,
MessageBox, MessageBoxButton, MessageBoxImage, MessageBoxResult)
from System.Windows.Markup import XamlReader
def LoadXamlFromNet(strUrl):
import System
request = System.Net.WebRequest.Create(strUrl)
response = request.GetResponse()
dataStream = response.GetResponseStream()
try:
element = XamlReader.Load(dataStream)
finally:
dataStream.Close()
response.Close()
return element
def mySetWinButton(sender,e):
win = sender
wt = win.Template
(wt.FindName("Label1",win)).MouseLeftButtonDown += OnMove
(wt.FindName("Label1",win)).MouseDoubleClick += OnMaximam
(wt.FindName("Button1",win)).Click += OnMimimam
(wt.FindName("Button2",win)).Click += OnMaximam
(wt.FindName("Button3",win)).Click += OnClose
def OnClose(sender, e):
window = sender.TemplatedParent
r = MessageBox.Show(
"Window close?",
window.Title,
MessageBoxButton.YesNo,
MessageBoxImage.Warning )
if r == MessageBoxResult.No:
pass
else:
window.Close()
def OnMove(sender, e):
window = sender.TemplatedParent
window.DragMove()
def OnMaximam(sender, e):
window = sender.TemplatedParent
if (window.WindowState != WindowState.Maximized) :
window.WindowState = WindowState.Maximized
else:
window.WindowState = WindowState.Normal
def OnMimimam(sender, e):
window = sender.TemplatedParent
if (window.WindowState != WindowState.Minimized) :
window.WindowState = WindowState.Minimized
else:
window.WindowState = WindowState.Normal
if __name__ == "__main__":
win = LoadXamlFromNet("http://softgarden.lovepop.jp/myBlog/xaml/Art55.xaml")
win.Title = "Art55's Animation in IronPython"
style = LoadXamlFromNet("http://softgarden.lovepop.jp/myBlog/xaml/Art55_Resouces.xaml")
win.Style = style["CustomWindowChrome"]
win.Loaded += mySetWinButton
Application().Run(win)
![]() | IronPythonの世界 (Windows Script Programming) |
荒井 省三 | |
ソフトバンク クリエイティブ |
![]() | エキスパートPythonプログラミング |
Tarek Ziade | |
アスキー・メディアワークス |
![]() | Pythonスタートブック |
辻 真吾 | |
技術評論社 |
※コメント投稿者のブログIDはブログ作成者のみに通知されます