[IronPython] .NET attributes for methods

Curt Hagenlocher curt at hagenlocher.org
Fri Nov 13 00:02:47 CET 2009


Silverlight doesn't support ICustomTypeDescriptor -- that's probably why
binding is failing. You need to emit CLR properties to use data binding with
Silverlight 2 and 3.

2009/11/12 Shri Borde <Shri.Borde at microsoft.com>

>  So the new clrtype.py still works - cool!
>
>
>
> I am not an expert on data binding, so I don't have any suggestions. Why do
> you say that the decorator approach will not work with Silverlight? Does
> @notifiy_property from
> http://gui-at.blogspot.com/2009/11/inotifypropertychanged-in-ironpython.htmluse any feature not available in Silverlight?
>
>
>
> *From:* Lukas Cenovsky [mailto:cenovsky at bakalari.cz]
> *Sent:* Thursday, November 12, 2009 8:09 AM
> *To:* Shri Borde
> *Subject:* Re: [IronPython] .NET attributes for methods
>
>
>
> Thanks, that works!
>
> What do you think would be the best approach to create notifiable
> properties for Silverlight? I did it for WPF (via decorators:
> http://gui-at.blogspot.com/2009/11/inotifypropertychanged-in-ironpython.html)
> but it seems to me it won't be possible to do it similarly for
> Silverlight...
>
> --
> -- Lukáš
>
> Shri Borde wrote:
>
> Can you use "_clrproperties" instead of "_clrfields"? DevHawk's same
> created a field and a property even when you just used "_clrfields". I don't
> do that anymore. So you will need to use "_clrproperties" to get properties,
> which SL must use for data binding.
>
>
>
> *From:* users-bounces at lists.ironpython.com [
> mailto:users-bounces at lists.ironpython.com<users-bounces at lists.ironpython.com>]
> *On Behalf Of *Lukas Cenovsky
> *Sent:* Wednesday, November 11, 2009 2:37 AM
> *To:* Discussion of IronPython
> *Subject:* Re: [IronPython] .NET attributes for methods
>
>
>
> I did change __metaclass__ to ClrMetaclass. See the attached source I use
> for testing - the only difference is to comment/uncomment appropriate part
> in product.py.
>
> The outputs look the same, there are no visible exceptions:
>
> DevHawk:
>
> py> a.root.FindName('listbox1').ItemsSource[0].GetType().GetFields()
>
> => Array[FieldInfo]((<System.Reflection.RtFieldInfo object at 0x000000000000002B [Double cost]>,
>
> <System.Reflection.RtFieldInfo object at 0x000000000000002C [Int32 quantity]>,
>
> <System.Reflection.RtFieldInfo object at 0x000000000000002D [System.String name]>,
>
> <System.Reflection.RtFieldInfo object at 0x000000000000002E [IronPython.Runtime.Types.PythonType .class]>,
>
> <System.Reflection.RtFieldInfo object at 0x000000000000002F [IronPython.Runtime.PythonDictionary .dict]>,
>
> <System.Reflection.RtFieldInfo object at 0x0000000000000030 [System.Object[] .slots_and_weakref]>))
>
>
> Shri:
>
> py> a.root.FindName('listbox1').ItemsSource[0].GetType().GetFields()
>
> => Array[FieldInfo]((<System.Reflection.RtFieldInfo object at 0x000000000000002B [Double cost]>,
>
> <System.Reflection.RtFieldInfo object at 0x000000000000002C [Int32 quantity]>,
>
> <System.Reflection.RtFieldInfo object at 0x000000000000002D [System.String name]>,
>
> <System.Reflection.RtFieldInfo object at 0x000000000000002E [IronPython.Runtime.Types.PythonType .class]>,
>
> <System.Reflection.RtFieldInfo object at 0x000000000000002F [IronPython.Runtime.PythonDictionary .dict]>,
>
> <System.Reflection.RtFieldInfo object at 0x0000000000000030 [System.Object[] .slots_and_weakref]>))
>
>
>
> --
> -- Lukáš
>
>
> Shri Borde wrote:
>
> Note that you will have to set __metaclass__ to ClrMetaclass, not
> ClrTypeMetaclass as in DevHawk's sample. I had changed the name of the type.
> The old name will cause a NameError, but maybe SL is hiding exceptions. Can
> you do "o.GetType().GetFields()" and display that on the page to inspect the
> object and also make sure that no exceptions were thrown?
>
>
>
> *From:* users-bounces at lists.ironpython.com [
> mailto:users-bounces at lists.ironpython.com<users-bounces at lists.ironpython.com>]
> *On Behalf Of *Lukas Cenovsky
> *Sent:* Tuesday, November 10, 2009 2:59 PM
> *To:* Discussion of IronPython
> *Subject:* Re: [IronPython] .NET attributes for methods
>
>
>
> I have just found that the Silverlight binding does not work with this
> version of clrtype and/or IronPython 2.6RC2.
> I used DevHawk demo [1] and after I added reference to Microsoft.Dynamic in
> clrtypemetaclass.py it worked flawlessly. But when I switch to your version,
> no items show in the listbox.
>
> By the way - I have seen a commit message you have added support for
> interfaces - nice! ;-)
>
> --
> -- Lukáš
>
> [1]
> http://cid-0d9bc809858885a4.skydrive.live.com/self.aspx/DevHawk%20Content/IronPython%20Stuff/^_^_clrtype^_^_/SL%20databinding%20demo.zip<http://cid-0d9bc809858885a4.skydrive.live.com/self.aspx/DevHawk%20Content/IronPython%20Stuff/%5E_%5E_clrtype%5E_%5E_/SL%20databinding%20demo.zip>
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20091112/47e75073/attachment.html>


More information about the Ironpython-users mailing list