<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=Section1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Those are sufficient to flag a member as a property, but not necessary. There are plenty of cases when programmers use a bare method in a place where that they would still want to databind to it.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Currently, attr_reader by itself won’t create a “property”; it also needs the writer. This is arguably a bug. The combination (or attr_accessor) should work.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> ironruby-core-bounces@rubyforge.org [mailto:ironruby-core-bounces@rubyforge.org] <b>On Behalf Of </b>Ivan Porto Carrero<br><b>Sent:</b> Monday, July 20, 2009 7:27 AM<br><b>To:</b> ironruby-core@rubyforge.org<br><b>Subject:</b> Re: [Ironruby-core] Data Binding to IronRuby Objects in WPF<o:p></o:p></span></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>but wouldn't linking those to attr_reader, attr_writer and attr_accessor work?<o:p></o:p></p><div><p class=MsoNormal>At least then you know which things are meant to be properties.<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>I don't mind using something like clrattr_reader etc. to&nbsp;get&nbsp;a&nbsp;different&nbsp;behavior&nbsp;and&nbsp;something&nbsp;to&nbsp;expand&nbsp;upon.&nbsp;because&nbsp;then&nbsp;it&nbsp;becomes<o:p></o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'>inotify_attr_reader or something,&nbsp;later&nbsp;on&nbsp;for&nbsp;INotifyPropertyChanged&nbsp;implementations.<br clear=all>---<br>Met vriendelijke groeten - Best regards - Salutations<br>Ivan Porto Carrero<br>GSM: +32.486.787.582<br>Blog: <a href="http://flanders.co.nz">http://flanders.co.nz</a><br>Twitter: <a href="http://twitter.com/casualjim">http://twitter.com/casualjim</a><br>Author of IronRuby in Action (<a href="http://manning.com/carrero">http://manning.com/carrero</a>)<br><br><br><o:p></o:p></p><div><p class=MsoNormal>On Mon, Jul 20, 2009 at 4:10 PM, Curt Hagenlocher &lt;<a href="mailto:curth@microsoft.com">curth@microsoft.com</a>&gt; wrote:<o:p></o:p></p><p class=MsoNormal>This should work under desktop WPF (though not under Silverlight) because IronRuby objects implement ICustomTypeDescriptor. But consider the following code:<br><br>class Drive<br>&nbsp;def letter<br>&nbsp; &nbsp;'C'<br>&nbsp;end<br>&nbsp;def format<br>&nbsp; &nbsp;# format the hard drive<br>&nbsp;end<br>end<br><br>How do we know what the &quot;properties&quot; of Drive are? For obvious reasons, we would want to return &quot;letter&quot; but not &quot;format&quot;. The way I protected against this was to return only those names which have both an arity 0 getter and an arity 1 setter. In other words, the above class would also need a<br><br>&nbsp;def letter= value<br>&nbsp; &nbsp;# raise some kind of &quot;not supported&quot; exception<br>&nbsp;end<br><br>in order for the ICustomTypeDescriptor implementation to recognize &quot;letter&quot; as a property.<o:p></o:p></p><div><div><p class=MsoNormal><br>-----Original Message-----<br>From: <a href="mailto:ironruby-core-bounces@rubyforge.org">ironruby-core-bounces@rubyforge.org</a> [mailto:<a href="mailto:ironruby-core-bounces@rubyforge.org">ironruby-core-bounces@rubyforge.org</a>] On Behalf Of Shay Friedman<br>Sent: Saturday, July 18, 2009 9:12 AM<br>To: <a href="mailto:ironruby-core@rubyforge.org">ironruby-core@rubyforge.org</a><br>Subject: [Ironruby-core] Data Binding to IronRuby Objects in WPF<br><br>Hi there,<br><br>I'm trying to databind IronRuby objects to a WPF listbox with no success<br><br>My data is a Ruby array of objects. The array seems to be bound fine as<br>I see the expected number of rows in the listbox. However, every object<br>within the array fails to bind correctly. I tried the object to be a<br>Ruby hash or a custom class without success… WPF wouldn't display the<br>correct value.<br><br>When I tried to create an array of CLR classes, it worked.<br><br>Will it work in the &nbsp;future?<br><br>Thanks,<br>Shay.<br><br>----------------------------<br>Shay Friedman<br><a href="http://www.IronShay.com" target="_blank">http://www.IronShay.com</a><br>Follow me: <a href="http://twitter.com/ironshay" target="_blank">http://twitter.com/ironshay</a><br>--<br>Posted via <a href="http://www.ruby-forum.com/" target="_blank">http://www.ruby-forum.com/</a>.<br>_______________________________________________<br>Ironruby-core mailing list<br><a href="mailto:Ironruby-core@rubyforge.org">Ironruby-core@rubyforge.org</a><br><a href="http://rubyforge.org/mailman/listinfo/ironruby-core" target="_blank">http://rubyforge.org/mailman/listinfo/ironruby-core</a><br>_______________________________________________<br>Ironruby-core mailing list<br><a href="mailto:Ironruby-core@rubyforge.org">Ironruby-core@rubyforge.org</a><br><a href="http://rubyforge.org/mailman/listinfo/ironruby-core" target="_blank">http://rubyforge.org/mailman/listinfo/ironruby-core</a><o:p></o:p></p></div></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div></div></body></html>