Form1.cs
class ButtonMenu_WPF(Window): # Form
- Form に代えて、Window を拡張しています。
def __init__(self, **args):
self.InitializeComponent()
self.init()def init(self):
evh = self.commandClick
self.btRed.Click += evh
file = MenuItem(Header="File") # MenuItem("File")
self.main.Items.Add(file) # .MenuItems
mnflo = FileOpen()
mnflo.Click += evh
fex = FileExit(frm=self)
fex.Click += evh
for e in mnflo, fex:
file.Items.Add(e) # .MenuItems
- Header に値を設定しています。
- MenuItems に代えて、Items にメニュー項目を追加します。
def _btRed(self):
e = RedButton(
Name = "btRed",
Width=75, Height=32, # Size = Size(75, 32)
Content = "Red", # .Text
)
Canvas.SetLeft(e, 88) # Location = Point(88, 48)
Canvas.SetTop (e, 48)
return e
- Size に代えて、Width/Height に値を設定しています。
- Text に代えて、Content に値を設定しています。
- Location に代えて、SetLeft/SetTop を利用しています。
def _Controls(self):
self.Width = 272 # ClientSize = Size(272, 141)
self.Height = 141
self.Content = StackPanel()
self.main = Menu() # MainMenu
canvas = Canvas(Width=self.Width, Height=self.Height)
for e in self.main, canvas:
self.Content.Children.Add(e)
canvas.Children.Add(self.btRed) # .Controls
#### self.Text = "Command demo"
- ClientSize に代えて、Width/Height に値を設定しています。
- @ Content @ StackPanel
- MainMenu に代えて、Menu を利用しています。
- @ Canvas
- Controls に代えて、Children に各コントロールを追加します。
def InitializeComponent(self):
self.btRed = self._btRed()
self._Controls()def commandClick(self, sender, e):
self._eventLog("commandClick", sender, e) # (@.@) keep a log
comd = sender
comd.Execute()def _eventLog(self, s, sender, e):
print ">>> %s"%s
for e in sender, e:
print "... %s"%e