CSLA .NET FAQ

WPF FAQ

Modified: 2013/02/14 00:29 by RockfordLhotka - Categorized as: WPF
Edit

Does CSLA .NET support WPF?

Yes. CSLA .NET has extensive support for WPF, both through its support for data binding, and with productivity controls and components in the Csla.Wpf namespace.

The Expert C# 2008 Business Objects and Expert VB 2008 Business Objects books have a lot of information about WPF and how CSLA .NET supports this technology.

Starting with CSLA .NET 4.0, the base collection types will fully support WPF binding. See this page for more information.

Edit

Should I use Silverlight or WPF?

This is a good forum thread on the topic, and you can read Rocky's thoughts.

Edit

Does CSLA .NET work with the MVVM pattern?

Yes. Click here for more information.

Edit

Why doesn't sorting work automatically in a DataGrid?

Prior to CSLA 4 all the CSLA collection/list classes inherit from BindingList, which means they work with all UI technologies. They work great with Windows Forms and Web Forms, and work for the most part with WPF.

However, WPF doesn't fully honor the IBindingList interface, and in particular doesn't do automatic sorting of IBindingList collection types. This is a well-known limitation of WPF. WPF only fully supports ObservableCollection types.

The problem is that Windows Forms doesn't work at all with ObservableCollection lists. Well, it sort of works, but most common datagrid behaviors are unavailable, so it doesn't work in any real app scenario.

CSLA 4 changes the CSLA collection/list base classes to inherit from ObservableCollection. The older BindingList base classes are still there, but renamed, so there's still legacy support for Windows Forms, with primary support for WPF.

Edit

Why doesn't the standard WPF datagrid seem to work right?

The WPF datagrid doesn't correctly implement some of the standard data binding behaviors. The CSLA .NET base classes are designed to support standard data binding, just like the DataTable or other bindable objects. Because the WPF datagrid doesn't follow Microsoft's own rules, it doesn't work correctly.

Unfortunately, the WPF datagrid doesn't implement events or methods that could be used to create workaround solutions either. I have been unable to find any way to "fix" the WPF datagrid to make it work correctly.

I (and others) have made Microsoft aware of this issue numerous times. You can go vote on a connect issue to encourage Microsoft to fix the control.

This thread has more information about the issue.

All content and CSLA .NET is Copyright © 2009-2011 Marimer LLC