Thanks for pointing that out, Curt,
now, for such a trivial function I can imagine substituting
it with a Lambda, however, how would I use a more complex
function?
I found out exactly that when not passing any arguments
the function works like this:
def functName(self, sender):
....
pass
(XamlDef.FindName('btnCreate')).Click += functName
This has worked flawlessly, as soon as I need to pass it
an argument. I haven't found a way to do that.
Thanks again, cheers,
Lukáš Duběda
Director
[T] +420 602 444 164
duber studio(tm)
[M] [email protected]
[W] http://www.duber.cz
[A] R.A.Dvorského 601, Praha 10
[A] 10900, Czech Republic, Europe
Curt Hagenlocher wrote:
The problem is this line:
controls['Button']['btnCreate'].Click += printHello("HELLO WORLD")
This executes the function printHello("HELLO WORLD") and tries to add
the result -- None -- as an event handler. Something like the following
should probably work:
controls['Button']['btnCreate'].Click += lambda s, e: printHello("HELLO
WORLD")
On Mon, May 3, 2010 at 4:33 AM, Lukáš Duběda <[email protected]
<mailto:[email protected]>> wrote:
Ok, I now risk being kicked out from this list for
spamming :D but I have to take my chances. Btw: I'm
still waiting for a bung of WPF books to arrive, so,
please bear with me.
Here's a primitive app I'm trying to build in VS2010
using IPy and, to me, the new WPF stuff.
XAML and the Python Code attached.
Now, when I try to build the app, I get an error:
"Event addition expected callable object, got NoneType"
Can anyone explain to me why I'm getting this error?
As I said, I'm more used to WinForms and adding a function
definition to a control this way has always worked. Even
more so as I copied some of the code, incl. the even
addition from this site:
http://www.ironpython.info/index.php/XAML_GUI_Events_Example
Thank you very much (again) in advance, I really do appretiate
all your support.
Lukáš Duběda
Director
[T] +420 602 444 164
duber studio(tm)
[M] [email protected] <mailto:[email protected]>
[W] http://www.duber.cz <http://www.duber.cz/>
[A] R.A.Dvorského 601, Praha 10
[A] 10900, Czech Republic, Europe
niki wrote:
Jimmy Schementi wrote:
<http://ironpython.net/ironpython/tools/>
<http://ironpython.net/ironpython/tools/>http://ironpython.net/ironpython/tools/
should probably be updated to not link to the express
version.
You're absolutely right; the "Visual Studio 2010" link on
http://ironpython.net/tools/ now goes to the general VS2010
site (
<http://microsoft.com/visualstudio/>http://microsoft.com/visualstudio/),
and
<http://ironpython.net/tools/download/>http://ironpython.net/tools/download/
now has the installation instructions from the walkthrough,
so that should clear up any confusion.
Is it Isolated shell or Integrated shell?
Niki
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
import clr
clr.AddReference('PresentationFramework')
from System.Windows.Markup import XamlReader
from System.Windows import Application
from System.IO import FileStream, FileMode
XamlDef = XamlReader.Load(FileStream('WPF_Test_01.xaml', FileMode.Open))
def Waddle(c, d):
s = str(c.__class__)
if "System.Windows.Controls." in str(c) and hasattr(c,"Name") and
c.Name.Length>0:
ControlType = s[s.find("'")+1:s.rfind("'")]
if ControlType not in d:
d[ControlType] = {}
d[ControlType][c.Name] = c
if hasattr(c,"Children"):
for cc in c.Children:
Waddle(cc, d)
elif hasattr(c,"Child"):
Waddle(c.Child, d)
elif hasattr(c,"Content"):
Waddle(c.Content, d)
def printToLabel(passedControl, passedInput):
passedControl.Content = passedInput
def printHello(txt):
print txt
controls = {}
Waddle(XamlDef, controls)
#controls['Button']['btnCreate'].Click +=
printToLabel(controls['Label']['lblOutput'],
controls['Button']['btnCreate'].Content)
controls['Button']['btnCreate'].Click += printHello("HELLO WORLD")
Application().Run(XamlDef)
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == ''
">Debug</Configuration>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{cab7a050-6da5-4796-8d39-1205d7984933}</ProjectGuid>
<ProjectHome>.</ProjectHome>
<StartupFile>WPF_Test_01.py</StartupFile>
<SearchPath>
</SearchPath>
<WorkingDirectory>.</WorkingDirectory>
<IsWindowsApplication>True</IsWindowsApplication>
<AssemblyName>WPF_Test_01</AssemblyName>
<Name>WPF_Test_01</Name>
<RootNamespace>WPF_Test_01</RootNamespace>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DebugSymbols>true</DebugSymbols>
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DebugSymbols>true</DebugSymbols>
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
</PropertyGroup>
<ItemGroup>
<None
Include="D:\Scripts\Tests\WPF_Test\WPF_Test_01\WPF_Test_01\WPF_Test_01.py"
/>
<None
Include="D:\Scripts\Tests\WPF_Test\WPF_Test_01\WPF_Test_01\WPF_Test_01.xaml"
/>
<None Include="WPF_Test_01.py" />
<None Include="WPF_Test_01.xaml" />
</ItemGroup>
</Project>
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
------------------------------------------------------------------------
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com