====== Property ====== The property statement can have different forms in X# (it is the .NET equivalent for access/assign in VO). The "full" version (read and write): property MyProp as string get return _cMyProp end get set _cMyProp := value end set end property The same in a one-line syntax: property MyProp as string get _cMyProp set _cMyProp := value Please note that there is no "return" in the get accessor, and no end statements. An "auto" property (that is a property that defines also the storage): property MyProp as string auto Of course you can also define one accessor as static: property MyProp as string get _cMyProp static set _cMyProp := value or define only the get (read) or set (write) accessor: property MyProp as string get _cMyProp You can even put more statements in a oneline property, using a comma as separator: property MyProp as string get _cMyProp set _cMyProp := value, self:OnPropertyChanged("MyProp") And nobody inhibits you to use more sofisticated code in a property: public virtual property CloseButton as RelayCommand get self:_Get() set self:_Set( value )