WPF FAQ
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.