+2  A: 

Having a property open a database connection and run a query is not a good pattern.

A better approach would be to query a set of objects from LINQ to SQL and bind those to the WPF control instead.

DamienG
+1  A: 

I agree with Damien, why dont you execute the DB call asynchronously? That way the UI stays responsive and you can handle DB errors in the background gracefully without the user knowing...

jacko