Greetings.
Here is a code
import clr
clr.AddReference("System")
clr.AddReference("System.Drawing")
clr.AddReference("System.Windows.Forms")
clr.AddReference("System.ComponentModel")
from System import *
from System.Drawing import *
from System.Windows.Forms import *
from System.ComponentModel import *
class StringWithBinding(INotifyPropertyChanged):
def __init__(self, aValue):
self._mValue = aValue
def get_Value(self):
return self._mValue
def set_Value(self, value):
self._mValue = value
self.OnPropertyChanged("Value")
Value = property(fget=get_Value, fset=set_Value)
def OnPropertyChanged(self, aName):
if PropertyChanged is not None:
self.PropertyChanged(self, PropertyChangedEventArgs(aName))
class Program(Form):
def __init__(self):
super(Program, self).__init__()
self.str = StringWithBinding("A")
tab = TableLayoutPanel()
tab.Parent = self
tab.ColumnCount = 1
tab.Dock = DockStyle.Fill
tab.Padding = Padding(self.Font.Height)
text = TextBox()
text.Parent = tab
text.DataBindings.Add("Text", self.str, "Value")#,
#False, DataSourceUpdateMode.OnPropertyChanged)
button = Button()
button.Parent = tab
button.Text = "Go!"
button.Click += self.OnButtonClick
def OnButtonClick(self, aSender, aEa):
Console.WriteLine(self.str.Value)
if __name__ == '__main__':
form = Program()
Application.Run(form)Well with comment 3 and 4 parameters this one way Data Binding but even now app freezing after some input pass to text box.
When 3 and 4 parameters uncomment after pass some input in text box I got JIT error message "global name 'PropertyChanged' is not definined."
How to change code to resolve this problem?
Thanks.
P.S.
Code for StringWithDataBinding take (after change and translate) from C# sample -http://stackoverflow.com/a/9148341