I’ve just pushed the latest version of SoapBox Core (2010.05.24) and the Pin Ball Demo to the SVN repository. You can download them from the downloads page. This release has some new features and improvements to existing functionality:
- Added ReverseBooleanToVisibilityConverter to the SoapBox.Utilities assembly (so you can make something visible when a property is false).
- Added a ProgressBar control to the Status Bar controls! (I admit that should have been there from the start.) When you inherit from AbstractStatusBarProgressBar, remember to set the Minimum, Maximum, and Value properties appropriately. You’ll probably want to play with the Width property too.
- Documents and Pads now keep the tab text in sync with the Title/Name property of the IPad or IDocument ViewModel.
- Buttons, buttons, buttons: If you want to create a row of buttons, for instance, across the bottom of your View, then create a property on your ViewModel called Buttons that returns an IEnumerable<IButton>. Then populate that collection with objects that inherit from AbstractButton. Put an ItemsControl in your View that binds its ItemsSource property to the Buttons property, and voila… MVVM buttons anywhere.
- To support this new button functionality, IButton (and AbstractButton) now includes IsCancel and IsDefault properties, along with Margin and Padding properties so you can get them to look the way you want.